ASP.请求的资源不支持http方法'GET'
本文关键字:GET 方法 http 请求 资源 不支持 ASP | 更新日期: 2023-09-27 17:50:59
我的目标是在将在后端使用的GET调用中按姓氏搜索。我有Get()和Get(int id)工作得很好,虽然我花了一段时间试图获得SearchByLastName(字符串名称)工作,但不能。这是我的控制器
中的函数// 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
任何想法?
哇,我花了一个多小时试图找到一个答案,我得到了一个正确的后,我张贴这个问题。很抱歉。无论如何,答案是在名称中使用动词Get作为前缀是惯例。我把我的改成了GetLastName(string id)
,它现在可以工作了
与其使用Route[""]
,我建议总是使用动词,它支持路由,所以,而不是
[Route("api/member/byLastname/{id}")]
你可以做
[HttpGet("api/member/byLastname/{id}")]
HttpGet
属性在Microsoft.AspNet.Mvc
命名空间