ASP.NET MVC6 - 请求的资源不支持 http 方法 'GET'
ASP.NET MVC6 - The requested resource does not support http method 'GET'
我的目标是在将在后端使用的 GET 调用中按姓氏进行搜索。我有 Get() 和 Get(int id) 工作得很好,虽然我花了一段时间尝试让 SearchByLastName(string name) 工作但不能。这是我的控制器中的函数
// GET
[Route("api/member/byLastname/{id}")]
public IHttpActionResult SearchByLastName(string id)
{
var member = _context.Members.SingleOrDefault(m => m.LastName == id);
if (member == null)
{
return NotFound();
}
return Ok(member);
}
我这辈子都想不通为什么当其他 Get 函数起作用并且路由在这里看起来正确时这不起作用。
我在这种情况下拨打的电话看起来像这样:
http://.../api/Member/byLastName/Smith
有什么想法吗?
哇,我花了一个多小时试图找到答案,post 这个问题后我马上得到了答案。对不起。无论如何,答案是在名称中使用动词 Get 作为前缀是惯例。我将我的更改为 GetLastName(string id)
,现在可以使用了
而不是使用 Route[""]
我建议总是使用动词,它支持路由,所以而不是
[Route("api/member/byLastname/{id}")]
你可以做到
[HttpGet("api/member/byLastname/{id}")]
HttpGet
属性位于 Microsoft.AspNet.Mvc
命名空间
我的目标是在将在后端使用的 GET 调用中按姓氏进行搜索。我有 Get() 和 Get(int id) 工作得很好,虽然我花了一段时间尝试让 SearchByLastName(string name) 工作但不能。这是我的控制器中的函数
// GET
[Route("api/member/byLastname/{id}")]
public IHttpActionResult SearchByLastName(string id)
{
var member = _context.Members.SingleOrDefault(m => m.LastName == id);
if (member == null)
{
return NotFound();
}
return Ok(member);
}
我这辈子都想不通为什么当其他 Get 函数起作用并且路由在这里看起来正确时这不起作用。
我在这种情况下拨打的电话看起来像这样: http://.../api/Member/byLastName/Smith
有什么想法吗?
哇,我花了一个多小时试图找到答案,post 这个问题后我马上得到了答案。对不起。无论如何,答案是在名称中使用动词 Get 作为前缀是惯例。我将我的更改为 GetLastName(string id)
,现在可以使用了
而不是使用 Route[""]
我建议总是使用动词,它支持路由,所以而不是
[Route("api/member/byLastname/{id}")]
你可以做到
[HttpGet("api/member/byLastname/{id}")]
HttpGet
属性位于 Microsoft.AspNet.Mvc
命名空间