感谢您的光临。
我正在尝试使以下代码工作:
[RoutePrefix("api/user")]
public class UserController : ApiController
{
[AllowAnonymous]
[Route("{email}")]
public IHttpActionResult Get(string email = null)
{
if (!string.IsNullOrEmpty(email))
{
return Json(someUserProfileObject);
}
return Json(someListOfUserProfiles);
}
}
每当我尝试访问/api/user/some@email.com时,我都会获得405
。
请在下面的答案中查看解决方案。
答案 0 :(得分:0)
当我偶然发现答案时,我正准备完成这个问题。基本上,特殊字符don't work well in URL Request Paths。我使用了查询字符串,并将我的代码修改为:
[RoutePrefix("api/user")]
public class UserController : ApiController
{
[AllowAnonymous]
[Route("")]
public IHttpActionResult Get(string email = null)
{
if (!string.IsNullOrEmpty(email))
{
return Json(someUserProfileObject);
}
return Json(someListOfUserProfiles);
}
}
现在一切正常,如果提供了查询字符串,我可以使用端点获取用户列表以及单个用户。
干杯!