У меня есть вопрос, касающийся маршрутизации POST-запроса с помощью ASP.NET Web API 2.
Я не могу вызвать функцию POST, она всегда возвращает not found 404.
{
"Message": "No HTTP resource was found that matches the request URI 'https://....../api/CombinedPOResponse/PostCombinedPOResponse'.",
"MessageDetail": "No action was found on the controller 'CombinedPOResponse' that matches the request."
}
Может кто-то указать, где моя конфигурация нарушена?Вот соответствующая часть контроллера
namespace FormSupportService.Controllers
{
public class CombinedPOResponseController : ApiController
{
[HttpPost]
public IHttpActionResult PostCombinedPOResponse(string inputXml)
{
AddPurchaseOrderResponse response = new AddPurchaseOrderResponse();
//...
return Ok(response);
}
//...
}
}
И извлечение WebApiConfig.cs
// UnitCodeLookup
config.Routes.MapHttpRoute(
name: "CombinedPOResponseApi",
routeTemplate: "api/{controller}/{action}",
defaults: new { inputXml = RouteParameter.Optional }
);
Я могу связаться со всеми другими контроллерами без проблем, но этот хитрый.
Спасибо
Редактировать:
Я звоню в службу с помощью JavaScript:
$.ajax("/api/CombinedPOResponse/PostCombinedPOResponse",
{
accepts: "text/html",
data: {inputXml: inputXml},
dataType: 'json',
method: 'POST',
error: error,
success: success
});