c# - ASP.NET/MVC : The requested resource does not support http method 'GET'

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

我在 ApiController 中定义了一个方法。当方法定义如下时:

public IEnumerable<QuestionResponse> Get() 

一切都很好。但是我想将参数传递给该方法,但是当我将该方法定义为

public IEnumerable<QuestionResponse> Get(int parid) 

响应是 405“请求的资源不支持 http 方法 'GET'”。

如果没有为该方法定义参数,则这两个 url 都会路由到该方法:

/api/questionresponse/224809
/api/questionresponse

但是当我为该方法定义参数时,这两个 url 都会导致 405 。

帮忙?


FWIW

最佳答案

如果您检查路由,您可以看到默认模板使用参数{id}

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

因此您需要将 Controller 签名更改为

public IEnumerable<QuestionResponse> Get(int id) 

或者编写一个自定义路由来支持参数parid

关于c# - ASP.NET/MVC : The requested resource does not support http method 'GET' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32324146/

相关文章:

c# - 如何利用 OnModelCreating (Fluent Api EF) 中定义的现有键与 OData v4 中的 ODataModelBuilder 一起工作?

c# - 在我的表单中显示另一个应用程序

c# - Linq - 子对象上的where子句

asp.net-mvc - 如何在 ASP.NET MVC 中实现单点登录 (ADFS)

c# - UseIISPlatformHandler() 是否正确弃用为 UseIIS()?

c# - MVC Controller 将整个模型发布到远程 api 操作

asp.net-mvc - 不同开发计算机上的 ASP.NET 成员资格提供程序

c# - 从 WebAPI 返回 PageResult 未格式化为 OData

ASP.NET WebAPI Identity 2 - 用户注册/注册方法上的 GetOwinContext 错误

c# - Web API 中基于 token 的身份验证,无需任何用户界面