请求的资源不支持 Visual Studio 2010 中的 HTTP 方法“GET”
Posted
技术标签:
【中文标题】请求的资源不支持 Visual Studio 2010 中的 HTTP 方法“GET”【英文标题】:The requested resource does not support HTTP method 'GET' in visual studio 2010 【发布时间】:2018-10-02 13:03:08 【问题描述】:我有一个 Web API(.NET Framework 4.0、MVC Web 应用程序、visual studio 2010 sp1)
还有我的WebApiConfig
代码:
public static void Register(HttpConfiguration config)
//config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/controller/action/id",
defaults: new id = RouteParameter.Optional
);
例如,这是我的控制器的方法代码之一:
[AcceptVerbs("Post")]
[ActionName("GetAccountTypeById")]
public static clsAccountType GetAccountTypeById(int AccountTypeId)
SqlParameter[] param = new SqlParameter("@Id", AccountTypeId) ;
DataTable dt = null;
dt = Execute.ExecuteSelect("SP_GetAccountTypeById", param);
if (dt.Rows.Count > 0)
clsAccountType item = new clsAccountType(Convert.ToInt32(dt.Rows[0]["Id"]), dt.Rows[0]["Name"].ToString());
return item;
else
return null;
问题是当我调用这个 URL 时:
http://localhost:1387/api/AccountType/GetAccountTypeById
从浏览器显示此错误:
请求的资源不支持http方法'GET'
【问题讨论】:
因为你有[AcceptVerbs("Post")]
你有什么建议
一个静态动作?
The requested resource does not support HTTP method 'GET'的可能重复
非常感谢我没有注意到这一点(静态动作)
【参考方案1】:
浏览器无法发出 POST 请求,因此当您在浏览器中单击链接时,您实际上发出了 GET 请求,这就是您看到错误的原因。
您需要使用 Postman 之类的工具,它允许您发出所需的任何类型的请求,以测试您的端点。
【讨论】:
以上是关于请求的资源不支持 Visual Studio 2010 中的 HTTP 方法“GET”的主要内容,如果未能解决你的问题,请参考以下文章
如何禁用自动隐藏解决方案资源管理器(Visual Studio 2017)
未安装C#的 visual studio 语言支持。代码编辑intellisense 将不可用。