powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Web API POST 405 method not allowed
9 сообщений из 9, страница 1 из 1
Web API POST 405 method not allowed
    #39946870
asn-ccode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Столкнулся с проблемой отправки POST запроса к web api. Запрос срабатывает, но в ответ сервер выдает ошибку 405. Гугление показало, что ситуация довольно распространенная, но практически везде решение указывается одно и то же - добавление в web.config строки <remove name="WebDAV"/>. В моем случае это результата не дало... Может быть, кто то в курсе, с чем еще это может быть связано?
Метод контроллера:
Код: c#
1.
2.
3.
4.
5.
6.
// POST: api/Version
[HttpPost]
public IHttpActionResult PostVersion(string ver)
{
//
}



Метод запроса
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        public static string Post(string controllerName, object data)
        {
            using (HttpClient client = new HttpClient())
            {
                var response = client.PostAsJsonAsync($"http://{ServerName}:{Port}/api/{controllerName}", data).Result;
                return response.StatusCode.ToString();
            }
        }



Буду благодарен за любую помощь!
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946877
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что ты обращаешься к
" http://{ServerName}:{Port}/api/{controllerName}"
а надо к
" http://{ServerName}:{Port}/api/{controllerName}/PostVersion"

Нужно либо изменить URL, либо использовать атрибут [Route("")]
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946887
asn-ccode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, спасибо за ответ! К сожалению, ничего не изменилось.
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946902
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asn-ccode,

... вы же JSON отправляете, там вероятно в методе [FromBody] должно быть

Код: c#
1.
public IHttpActionResult PostVersion([FromBody]string ver)



.. хотя, почему тогда string..? создайте класс хоть из одного поля, и его принимайте ..
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946928
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik
asn-ccode,

... вы же JSON отправляете, там вероятно в методе [FromBody] должно быть

Код: c#
1.
public IHttpActionResult PostVersion([FromBody]string ver)




.. хотя, почему тогда string..? создайте класс хоть из одного поля, и его принимайте ..
Вряд ли это повлияет на ошибку 405



asn-ccode
Shocker.Pro, спасибо за ответ! К сожалению, ничего не изменилось.
Тогда надо смотреть, что у тебя там написано в маршрутах. Работают ли соседние аналогичные методы в контроллере или в других контроллерах?
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946931
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос - что написано в атрибуте Route контроллера?
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946932
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Вряд ли это повлияет на ошибку 405


.. это же не 404 Not Found, и что-то у меня было подобное, когда я создал проект WebAPI, а пытался ему подсунуть форму, но вспомнить не могу ...
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946933
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..еще бы версию приложения узнать Core/ не Core, но как вариант в объявлении контроллера наследоваться не от ApiController, а от ControllerBase
...
Рейтинг: 0 / 0
Web API POST 405 method not allowed
    #39946982
asn-ccode
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за помощь!

carrotik, Вы оказались правы - добавление атрибута [FromBody] решило проблему.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Web API POST 405 method not allowed
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]