Почему getByEmail возвращает 404 не найден?
У меня есть следующий контроллер и маршрут
[HttpGet]
[Route("getByEmail/{email:alpha}")]
public IHttpActionResult Get(string email)
{
var user = _userLogic.GetUserByEmail(email);
return Ok(user);
}
Но когда я звоню
localhost/WebApp/api/user/getByEmail/fsd@sd
Возвращение 404 не найдено
I've tried
localhost/WebApp/api/user/getByEmail/?email=fsd@sd
Но это идет, чтобы получить все Может кто-нибудь, пожалуйста, помогите мне?
1 ответ
Скорее всего, из-за вашего определенного ограничения маршрута :alpha
который требует, чтобы ваш параметр соответствовал только заглавным и строчным буквам.
Так как вы собираетесь проходить в @
это может привести к неправильному сопоставлению маршрута и, таким образом, вы получите ошибку 404.
Просто удалите ограничение, и оно должно работать как положено:
[Route("getByEmail/{email}")]