我创建了一个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);
}
答案 0 :(得分:0)
默认情况下,WebApi 2控制器的名称是按约定注册的,即PublicController
在运行时为我们/api/Public
。
您尝试访问api/public/Agents
,但是您的控制器可能位于api/Public
。
您需要在RouteConfig.cs
中指定 Route 或将Route用作方法的属性。
有一个很好的Microsoft article,可以更精确地描述路由。