Web Api GET 动词 405 不允许

Posted

技术标签:

【中文标题】Web Api GET 动词 405 不允许【英文标题】:Web Api GET Verb 405 Not Allowed 【发布时间】:2017-03-22 04:55:17 【问题描述】:

我有与大多数人相反的问题。我失败的动词是 GET 和 POST。出于某种原因,允许 PUT 和 DELETE。这是我的相关 web.config。

  <system.webServer>
<handlers>
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<rewrite>
  <rules>
    <rule name="static dist files" stopProcessing="true">
      <match url="^(.+)$" />
      <conditions>
        <add input="C:\Source\PRISM\DEV\PRISM\Service\PRISM.Service\dist\R:1" matchType="IsFile" />
      </conditions>
      <action type="Rewrite" url="/dist/R:1" />
    </rule>
    <rule name="index.html as document root" stopProcessing="true">
      <match url="^$" />
      <action type="Rewrite" url="/dist/index.html" />
    </rule>
  </rules>
</rewrite>

【问题讨论】:

我也试过添加 remove name="WebDAV" 但什么也没做。 你是在本地运行它还是失败了? 【参考方案1】:

所以这不是错误 405 问题。我有一个与我的路由不匹配的方法签名,特别是参数 id。我的 get 方法有一个不同的参数名称。

【讨论】:

如果是这种情况,您应该删除您的问题,因为它并没有真正为网站提供价值。

以上是关于Web Api GET 动词 405 不允许的主要内容,如果未能解决你的问题,请参考以下文章

在 DELETE 上不允许使用 Owin 自托管 Web API 405 方法

ASP.NET Web API、405 状态码和异常处理

GET Web API 方法返回不允许的方法

Web Api - 不允许使用 Catch 405 方法

405 方法不允许 Web API

405 方法不允许 - ASP.NET Web API