Skip to main content
 首页 » 编程设计

c#之Asp.net Web api 请求的资源不支持http方法 'GET'

2024年04月18日45fff_TT

我想构建一个接受字符串参数并返回字符串值的 Web API,但我总是收到错误消息,请求的资源不支持 HTTP 方法 GET。我在堆栈溢出中搜索了一下并添加了 [AcceptVerbs("GET")] 行,但我仍然遇到错误。谁能帮帮我?

全局.asax.cs文件

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

Controller 的方法

[Route("{container}")] 
[AcceptVerbs("GET")] 
[HttpGet] 
public string GetContainerToken(string container) 
{ 
    return container; 
} 

请您参考如下方法:

您不需要注册自定义路由,因为您已经有了属性路由。

从您的代码中删除它。相反,您将需要 RoutePrefix。

[RoutePrefix("api/sas")] 
public class SasController : ApiController 
{ 
    [Route("{container}")] 
    public string Get(string container) 
    { 
        return container; 
    } 
}