我在用户控制器中设置了以下路由:
[EnableCors("*", "*", "*")]
[RoutePrefix("api/users")]
[Authorize]
public class UserController : ApiController
{
[Route("")]
public IHttpActionResult Get()
{
}
[HttpGet]
[Route("{id:int}")]
public IHttpActionResult Get(int id)
}
[HttpPost]
[Route("validateUser")]
public IHttpActionResult ValidateUser()
{
}
[HttpPost]
[Route("verify/{identityId}/{emailAddress}")]
public void VerifyUserEmailAddress(string identityId, string emailAddress)
{
}
}
前三条路线运行得很好。但第四次失败的是404.我用fiddler来打电话:
http://localhost:39897/api/users/verify/asldkfj/jb@test.com(已选中帖子)
帖子是否需要在正文中发送数据?任何人都可以看到我做错了什么以及为什么没有找到验证路线?
答案 0 :(得分:1)
电子邮件中的.com
是问题所在。
确定它是一封有效的电子邮件,但IIS将带有文件扩展名的请求视为实际文件请求,并尝试在磁盘上查找它。当它找不到它时,你会得到404 Not Found
如果您向请求添加尾部斜杠/
,它应该可以正常工作。
即http://localhost:39897/api/users/verify/asldkfj/jb@test.com/