Метод HttpDelete не разрешен для моего минимального проекта API .NET 6.

Я создал минимальный проект API .NET 6 с обычной операцией CRUD. Все работает нормально через тестовую страницу Swagger (добавить/обновить/удалить/выбрать), а также с Postman. Однако при доступе к API с помощью HttpClient из приложения WPF/WinForm HttpClient получает ответ «Метод не разрешен»/ошибка 405 ТОЛЬКО при вызове DeleteAsync(), все остальные (Get/Post/PutAsync()) работают нормально .

код такой:

Ответ HttpResponseMessage = await client.DeleteAsync("https://localhost:7890/MyObjects/2"); ответ.EnsureSuccessStatusCode();

Опять же, я совершенно сбит с толку тем, что удаление работает должным образом, когда API удаления вызывается с тестовой страницы чванства, а также из Postman. но не из моего приложения HttpClient. Поскольку API размещается в Kestrel, кажется, я ничего не могу настроить/изменить, чтобы исправить это. Я также пытался разместить API с помощью IISExpress для отладки, результат тот же: GET/POST/PUT все работает нормально, но не DELETE.

Кто-нибудь может помочь? Спасибо.

Редактировать: после мучительного поиска в Интернете я нашел эту статью, которая очень близка к ответу:статья Скотта Гррека

Однако, когда я попробовал решение, как было предложено:

client.DeleteAsync("https://localhost:7890/MyObjects/{2}");

Я все еще получаю ту же ошибку «Метод не разрешен».

0 ответов

Другие вопросы по тегам