POST方法端点未被击中,但GET方法端点工作正常



我似乎无法使用POST方法到达端点,但是当使用端点作为GET方法时,相同的端点工作得很好。我在下面提到了两个端点,一个是GET方法,另一个是POST方法。

正常工作的GET端点如下所示:

[Route("api2.0/Checklist/Create")]
[HttpGet]
public void Create()
{
JsonResponse.NewResponse("METHOD HIT!");
}

当我使用URL get: http://localhost:10001/api2.0/Checklist/Create/运行上面的端点时,我在postman中得到的响应是:

{ 
"Success": true, 
"Message": "METHOD HIT!", 
"RedirectLink": null, 
"ErrorType": 0, 
"Payload": null 
}

但是当我在这个端点上使用POST: http://localhost:10001/api2.0/Checklist/Create/从Postman使用POST方法运行相同的端点时:

[Route("api2.0/Checklist/Create")]
[HttpPost]
public void Create()
{
JsonResponse.NewResponse("METHOD HIT!");
}

我得到的响应是:

HTTP错误404.0 - Not Found

我的路由配置看起来像这样:

config.Routes.MapHttpRoute(
name: "ChecklistController",
routeTemplate: "api2.0/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

我还尝试将post方法URL从http更改为https,但这似乎也不起作用。

任何帮助将不胜感激!由于

我很惊讶你是如何编译你的代码,因为你不能有两个方法具有相同的名称和输入参数在一个类(在同一控制器在您的情况下)。

根据你的配置文件"将{id}这就是它导致错误的原因。但无论如何,你都必须修改路由,使其从根目录

开始。
[HttpPost("~/api2.0/Checklist/Create")]
public void Create()