首页 > 解决方案 > 如何访问同一文件中的两个 WebAPI 端点?

问题描述

目前我的设置包括位于同一个 C# 文件中的两个 WebAPI 端点(POST 和 DELETE):

[HttpPost]
[Route("api/authorizations/create/{id}")]
public IHttpActionResult CreateAuthorization(string id);

[HttpDelete]
[Route("api/authorizations/delete/{id}")]
public IHttpActionResult DeleteAuthorization(string id);

我可以使用 Postman 成功地 POST 到第一个端点,但是当我尝试向第二个端点发送 DELETE 请求时,我收到以下消息

404 - File or directory not found.
The resource you are looking for might have been removed, had its name 
changed, or is temporarily unavailable.

在本地测试这两个端点都可以正常工作,但是当我将项目上传到暂存环境时,我只能访问 POST 端点。

知道为什么我只能访问一个吗?同样,这两个端点位于同一个控制器文件中。

标签: c#asp.net-web-api

解决方案


检查您的运行时托管环境。如果它类似于 IIS(或任何其他),DELETE可能不会启用动词。


推荐阅读