指定调用 WebApi 2 控制器方法的正确路由

我创建了一个 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);

    }


万千封印
浏览 228回答 1
1回答

aluckdog

默认情况下,WebApi 2 控制器的名称是按照约定注册的,即在运行时PublicController给我们/api/Public。您尝试访问api/public/Agents,但是您的控制器可能位于api/Public。你需要指定一个路径在RouteConfig.cs或应用路线用作一个方法的属性。有一篇很好的 Microsoft文章更准确地描述了路线。
打开App,查看更多内容
随时随地看视频慕课网APP