API Controller не работает маршрутизация Post, Put и Delete
Я работаю с отдыхающими службами asp.net и создал контроллер WebApi. он отлично работает с Get, но не работает с Post, Put Delete.
public string Get()
{
return "value";
}
public string Post()
{
return "value";
}
Конфигурация маршрутизации
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
http://localhost:50089/api/UserProfile/get
http://localhost:50089/api/UserProfile/Post
Сообщение не работает, но получить работает, я пытаюсь добавить маршрут сверху, но это не работает
1 ответ
Попробуй это:
[HttpPost]
public IHttpActionResult MyPostMethod(string param)
{
...
return Ok();
}
Кроме того, вы должны вернуть IHttpActionResult:
Интерфейс IHttpActionResult был представлен в Web API 2. По сути, он определяет фабрику HttpResponseMessage. Вот некоторые преимущества использования интерфейса IHttpActionResult:
• Упрощает модульное тестирование ваших контроллеров.
• Перемещает общую логику для создания HTTP-ответов в отдельные классы.
• Делает намерение действия контроллера более понятным, скрывая низкоуровневые детали построения ответа.
Для тестирования вы можете использовать надстройку "постер" для Firefox.