Swagger openApi Spec 3.0 - УДАЛИТЬ работу - PullRequest
0 голосов
/ 01 марта 2019

Я использую Swagger OpenAPI спецификации 3.0 для генерации Swagger из моего интерфейса.У меня есть метод удаления, где он принимает тело запроса.Но согласно RFC7231 , DELETE не принимает тело запроса.Тоже так говорит тело запроса Swagger .Но мой API предназначен для принятия тела запроса в операции DELETE.Есть ли обходной путь в создании swagger, чтобы операция DELETE принимала тело запроса.В настоящее время какая ошибка я получаю от генерации чванства,

Sematic error: DELETE operations cannot have a requestBody

1 Ответ

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

Нет, вы не можете использовать инструменты спецификации OpenAPI 3.0 и Swagger для реализации запросов DELETE с телом запроса.Как вы правильно указали, HTTP RFC говорит, что тело запроса DELETE не имеет никакой определенной семантики (и, следовательно, его следует избегать), и OpenAPI 3.0 специально запрещает тела в методах HTTP, где тело не имеет определенной семантики.См. это обсуждение для некоторого контекста.

Рассмотрите возможность изменения дизайна API, например, замените тело DELETE параметрами пути, строки запроса или заголовка.Проверьте RESTful альтернативы DELETE Тело запроса для некоторых идей.

...