我收到此错误
{
"message":"No HTTP resource was found that matches the request URI 'http://localhost:8227/api/history/2019211/history'.",
"messageDetail":"No action was found on the controller 'History' that matches the request."
}
但我的行动方法如下。
[HttpGet, Route("history")]
public IHttpActionResult GetHistory(string iD)
{
var req = historyReq.From(iD);
return Ok(Convert.From(req));
}
请记住,它适用于所有其他模块和地点,但是这个。
我怀疑这是由于某些订购?由于此控制器具有HTTPPost和相同路由的另一种方法。这会有问题吗?但该方法的名称不同,即UpdateHistory
答案 0 :(得分:0)
您确定正确调用GET方法吗?
以下是我目前正在处理的一个示例,它运行正常。
[RoutePrefix("api/subsection")]
public class SubSectionController : ApiController
{
[HttpGet, Route("subsectionslist")]
public IHttpActionResult GetSections(int sectionId)
{
using (var db = new StudyHubContext())
{
var model = db.Section.Where(x => x.SectionId==sectionId)
.Include(x => x.SubSection)
.Select(x => x.SubSection)
.ToList();
return Json(model);
}
}
这就是我所说的(只需将其粘贴到网络浏览器中)
http://localhost:60552/api/subsection/subsectionslist?sectionId=1
你有很多get方法吗?如果是这样,您可以提供虚拟参数,但路径对于每个控制器操作方法应该是唯一的。