我似乎无法使用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()