Web Api Response - PullRequest
       3

Web Api Response

1 голос
/ 22 апреля 2020

При тестировании моего API в браузере вызывается только метод Get.

Когда я просматриваю http://localhost: xxxxx / api / student / GetStudentById / 38 Я получаю правильное значение из базы данных. Здесь GetStudentById - это [ActionName] в [HttpGet].

Но когда я просматриваю http://localhost: xxxxx / api / student / StudentDeleteById / 38 I get "Запрошенный ресурс не поддерживает http метод 'GET'. " (Почему он перенаправляется на получение)? Здесь StudentDeleteById - это [ActionName] в [HttpDelete].

Я проверил мой API в Postman, каждый запрос успешно выполняется (т. Е. Get, Положить, опубликовать, удалить)

Ниже мой WebApiConfig.cs

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

1 Ответ

1 голос
/ 23 апреля 2020

Браузер отправляет только GET-запросы при вводе URL-адреса в адресной строке. Чтобы отправить запрос DELETE, вы можете использовать команду командной строки curl

curl -X "DELETE"  http://localhost:xxxxx/api/student/StudentDeleteById/38

или создать небольшую страницу с jQuery, которая отправляет запрос:

function sendDelete() {
  $.ajax( 
  {
    url: 'http://localhost/api/student/StudentDeleteById/38',
    method: 'DELETE'
  }).done(function () {
    alert('done');
  });

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...