Разрешено ли тело объекта для запроса HTTP DELETE? - PullRequest
597 голосов
/ 18 ноября 2008

При отправке запроса HTTP DELETE URI запроса должен полностью идентифицировать ресурс для удаления. Однако допустимо ли добавлять дополнительные метаданные как часть сущности запроса?

Ответы [ 14 ]

3 голосов
/ 21 августа 2015

В случае, если кто-то сталкивается с проблемой тестирования, нет, она не поддерживается универсально.

В настоящее время я тестирую с Sahi Pro, и совершенно очевидно, что вызов http DELETE удаляет все предоставленные данные тела (большой список идентификаторов, которые нужно массово удалить согласно схеме конечных точек).

Я связывался с ними несколько раз, а также отправил их в трех отдельных пакетах с записками, изображениями и журналами, чтобы они могли их просмотреть, и они до сих пор не подтвердили это. Неудачный патч и пропущенные конференц-звонки из-за их поддержки позже, и я до сих пор не получил четкого ответа.

Я уверен, что Сахи не поддерживает это, и я думаю, что многие другие инструменты следуют за набором.

1 голос
/ 17 апреля 2019

Мне удалось реализовать операцию УДАЛИТЬ с телом запроса. Я использовал AWS Lambda и AWS API gateway и использовал язык Go.

0 голосов
/ 19 марта 2019

Использование DELETE с телом рискованно ... Я предпочитаю этот подход для операций со списком, а не для REST:

Регулярные операции

GET / objects / Получает все объекты

GET / object / ID Получает объект с указанным идентификатором

POST / objects Добавляет новый объект

PUT / object / ID Добавляет объект с указанным идентификатором, обновляет объект

DELETE / object / ID Удаляет объект с указанным идентификатором

Все пользовательские действия - POST

POST / objects / addList Добавляет список или массив объектов, включенных в тело

POST / objects / deleteList Удаляет список объектов, включенных в тело

POST / objects / customQuery Создает список на основе пользовательского запроса в теле

Если клиент не поддерживает ваши расширенные операции, он может работать в обычном режиме.

0 голосов
/ 17 февраля 2019

Может быть, приведенный ниже URL GitHUb поможет вам получить ответ. На самом деле, сервер приложений, такой как Tomcat, Weblogic отклоняет вызов HTTP.DELETE с полезной нагрузкой запроса. Имея в виду все это, я добавил пример в github, пожалуйста, посмотрите на это

https://github.com/ashish720/spring-examples

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