首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >请求的资源不支持HTTP方法“”GET“”

请求的资源不支持HTTP方法“”GET“”
EN

Stack Overflow用户
提问于 2012-10-07 10:35:41
回答 4查看 148.5K关注 0票数 104

我的路由配置正确,并且我的方法具有修饰标记。我仍然得到“请求的资源不支持HTTP方法' get '”的信息?

[System.Web.Mvc.AcceptVerbs("GET", "POST")]
[System.Web.Mvc.HttpGet]
public string Auth(string username, string password)
{
  // Décoder les paramètres reçue.
  string decodedUsername = username.DecodeFromBase64();
  string decodedPassword = password.DecodeFromBase64();

  return "value";
}

以下是我的路线:

config.Routes.MapHttpRoute(
    name: "AuthentificateRoute",
    routeTemplate: "api/game/authentificate;{username};{password}",
    defaults: new { controller = "Game",
                    action = "Auth", 
                    username = RouteParameter.Optional, 
                    password = RouteParameter.Optional },
    constraints: new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }
);

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

回答 4

Stack Overflow用户

发布于 2018-11-30 09:26:22

在我的例子中,路由签名与方法参数不同。我有id,但我接受documentId作为参数,这导致了问题。

[Route("Documents/{id}")]   <--- caused the webapi error
[Route("Documents/{documentId}")] <-- solved
public Document Get(string documentId)
{
  ..
}
票数 4
EN

Stack Overflow用户

发布于 2018-07-30 17:52:29

只需使用此属性

[System.Web.Http.HttpGet]

不需要这行代码:

[System.Web.Http.AcceptVerbs("GET", "POST")]
票数 3
EN

Stack Overflow用户

发布于 2020-09-03 23:06:56

已通过在访问端点时使用http(s)解决此问题。我访问的路由在http上不可用。所以我会说验证路由可用的协议。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12765636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档