Asp.net Web API所请求的资源不支持http方法'GET'
问题描述:
我想构建一个接受字符串参数并返回字符串值的Web API,但我总是收到错误,请求的资源不支持HTTP方法GET
。我在堆栈溢出中搜索了一下,并添加了行[AcceptVerbs("GET")]
,但我仍然遇到了错误。有人能帮我吗?Asp.net Web API所请求的资源不支持http方法'GET'
的Global.asax.cs文件
config.Routes.MapHttpRoute(
name: "sasRoute",
routeTemplate: "api/sas/{container}",
defaults: new
{
controller = "sas",
container = RouteParameter.Optional
}
);
控制器的方法
[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;
}
}
您试图使用哪个URL? –
@PaulAbbott的http://本地主机:52896/API/SAS /测试 –
你应该尝试: [路线( “/ API /移动/ {容器}”)] [HTTPGET] 公共字符串GetContainerToken(字符串容器) 返回容器; } –