Ioa*_*iba 0 c# rest asp.net-mvc getmethod asp.net-web-api
我有下面的控制器和路线
[HttpGet]
[Route("getByEmail/{email:alpha}")]
public IHttpActionResult Get(string email)
{
var user = _userLogic.GetUserByEmail(email);
return Ok(user);
}
Run Code Online (Sandbox Code Playgroud)
但是当我打电话时
localhost/WebApp/api/user/getByEmail/fsd@sd
Run Code Online (Sandbox Code Playgroud)
它返回404未找到
I've tried
localhost/WebApp/api/user/getByEmail/?email=fsd@sd
Run Code Online (Sandbox Code Playgroud)
但它会得到所有可以有人请帮助我吗?
这可能是因为你定义的路由约束的:alpha要求,你的参数仅匹配大写和小写字符.
由于您将要传入a @,这将导致路由无法正确匹配,因此您将收到404错误.
只需删除约束,它应该按预期工作:
[Route("getByEmail/{email}")]
Run Code Online (Sandbox Code Playgroud)