C# 如何使用带有可选参数的WebAPI 2创建真正的多用途端点?
谢谢你的关注 我正在尝试使以下代码正常工作:C# 如何使用带有可选参数的WebAPI 2创建真正的多用途端点?,c#,asp.net-web-api,C#,Asp.net Web Api,谢谢你的关注 我正在尝试使以下代码正常工作: [RoutePrefix("api/user")] public class UserController : ApiController { [AllowAnonymous] [Route("{email}")] public IHttpActionResult Get(string email = null) { if (!string.IsNullO
[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
解决了的!
请参阅下面我的答案中的解决方案。我刚写完这个问题,就无意中找到了答案。基本上是特殊人物。我使用了查询字符串,并将代码修改为:
[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);
}
}
现在一切都正常了,如果提供了querystring,我可以使用端点来获取两个用户列表以及单个用户
干杯 祝贺你解决了你的问题。请通过发布解决方案而不是编辑问题来保持问答格式。当然,我会修改。