【发布时间】:2017-06-19 00:00:47
【问题描述】:
我在 StackOverflow 上查看了大量“method not supported”错误,但没有一个建议的解决方案对我有用。我有一个非常基本的 Web API,它带有一个 Web 方法,在发布请求时总是返回错误
'请求的资源不支持http方法'POST''
当 PostMan 通过 POST 请求调用时。
我的 web.config 中没有定义 httpprotocols。我尝试过使用和不使用 Route 以及传递的参数中没有 [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 }
);
}
【问题讨论】:
标签: c# asp.net-web-api asp.net-web-api-routing