首页 > 解决方案 > 为什么我的类似休息的路由不起作用?

问题描述

我正在 .net core 2.1 中构建一个 Web API,我希望在其中为某些实体提供类似休息的路由,如下所示。但是无论我尝试什么,我都无法使此路由正常工作。任何想法我做错了什么?

在此查询中,我想访问端点http://localhost:5000/api/ContactGroup/1/persons以获取属于 ID 为 1 的联系人组的所有人员。

[HttpPost("{groupId}/persons", Name ="GetContactGroupPersons")]
public async Task<ActionResult>GetContactGroupPersons(int groupId)
{
        var returnObject = _manager.GetData(groupId);
        return Ok(returnObject);
}

查询结果为 404,未找到::

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:5000/api/ContactGroup/1/persons  
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 4.2288ms 404 

标签: c#asp.net-core

解决方案


您的方法被标记为,[HttpPost]但您正在发出 GET。改成这样就好了

[HttpGet("{groupId}/persons", Name ="GetContactGroupPersons")]

推荐阅读