繁体   English   中英

为什么getByEmail返回404找不到?

[英]Why getByEmail returns 404 not found?

我有以下控制器和路线

   [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

但这一切可以解决,有人可以帮助我吗?

可能是因为您定义了:alpha 路由约束 ,这要求您的参数仅匹配大写和小写字符。

由于您要传入@ ,这将导致路由无法正确匹配,因此您将收到404错误。

只需删除约束,它便会按预期工作:

[Route("getByEmail/{email}")]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM