指定调用Web Api 2 Controller方法的正确路由
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指定调用Web Api 2 Controller方法的正确路由相关的知识,希望对你有一定的参考价值。
我创建了一个PublicController.cs,它将返回代理列表。然后我构建并运行项目并打开Postman更改模式以获取并调用http://localhost:50159/api/public/Agents我得到的消息是
{
"Message": "No HTTP resource was found that matches the request URI 'http://localhost:50159/api/public/Agents'.",
"MessageDetail": "No action was found on the controller 'Public' that matches the request."
}
有什么我想念的吗?
[HttpGet]
public IHttpActionResult Agents(string key, string diseaseId)
{
GuardKey(key);
var result = AgentsDataService.GetAgents();
return Json(result);
}
答案
默认情况下,WebApi 2控制器的名称按惯例注册,即PublicController
在运行时为我们提供/api/Public
。
你试图访问api/public/Agents
,但你的控制器可能在api/Public
。您需要在RouteConfig.cs
中指定Route或将Route作为方法的属性应用。
有一个很好的微软article更准确地描述路线。
以上是关于指定调用Web Api 2 Controller方法的正确路由的主要内容,如果未能解决你的问题,请参考以下文章
如何确定我的后台任务将在生产中调用多少个 3rd 方 Web api 调用?
Method not found: then send request web api controller