请求的资源不支持具有适当修饰的 http 方法 'POST' - Web API
The requested resource does not support http method 'POST' with proper decoration - Web API
我在 Whosebug 上查看了大量“不支持的方法”错误,但 none 的建议解决方案对我有用。我有一个非常基本的 Web API 和一个 Web 方法,在 Post 请求时总是 returns 错误
'The requested resource does not support http method 'POST''
当 Post 人提出 POST 请求时。
我的 web.config 中没有定义 http 协议。我尝试过使用和不使用路由,也尝试过在传递的参数中不使用 [FromBody]
,但所有排列都失败了。
Request = http://myURL/api/XMLInput
,请求的主体有一个我正在处理的 XML。
控制器
[Route("XMLInput")]
[System.Web.Http.HttpPost]
public IHttpActionResult PostXMLInput([FromBody] XmlDocument xml)
{
XMLInput xmlInput = new XMLInput();
xmlInput.XML = xml.InnerXml;
return null;
}
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
提供的请求 http://myURL/api/XMLInput
不会匹配您的操作,除非该操作具有正确映射的路线
[RoutePrefix("api")]
public class MyController : ApiController {
//POST api/XMLInput
[Route("XMLInput")]
[HttpPost]
public IHttpActionResult PostXMLInput([FromBody] XmlDocument xml) { ... }
}
或
public class MyController : ApiController {
//POST api/XMLInput
[Route("api/XMLInput")]
[HttpPost]
public IHttpActionResult PostXMLInput([FromBody] XmlDocument xml) { ... }
}
我在 Whosebug 上查看了大量“不支持的方法”错误,但 none 的建议解决方案对我有用。我有一个非常基本的 Web API 和一个 Web 方法,在 Post 请求时总是 returns 错误
'The requested resource does not support http method 'POST''
当 Post 人提出 POST 请求时。
我的 web.config 中没有定义 http 协议。我尝试过使用和不使用路由,也尝试过在传递的参数中不使用 [FromBody]
,但所有排列都失败了。
Request = http://myURL/api/XMLInput
,请求的主体有一个我正在处理的 XML。
控制器
[Route("XMLInput")]
[System.Web.Http.HttpPost]
public IHttpActionResult PostXMLInput([FromBody] XmlDocument xml)
{
XMLInput xmlInput = new XMLInput();
xmlInput.XML = xml.InnerXml;
return null;
}
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
提供的请求 http://myURL/api/XMLInput
不会匹配您的操作,除非该操作具有正确映射的路线
[RoutePrefix("api")]
public class MyController : ApiController {
//POST api/XMLInput
[Route("XMLInput")]
[HttpPost]
public IHttpActionResult PostXMLInput([FromBody] XmlDocument xml) { ... }
}
或
public class MyController : ApiController {
//POST api/XMLInput
[Route("api/XMLInput")]
[HttpPost]
public IHttpActionResult PostXMLInput([FromBody] XmlDocument xml) { ... }
}