Swagger OpenAPI почтовое приложение / JSON без запроса тела - PullRequest
0 голосов
/ 05 февраля 2019

Мой API принимает запросы только с Header - Content-type:application/json объектом.

Чтобы сделать то же самое, я использую:

 @OA\RequestBody(
    description= "Provide company search parameter",
    required= true,
    @OA\JsonContent(
        type="object",
        @OA\Property(property="company_name", type="string")
    )
 )

Но для некоторых запросов мне не нужны RequestBody,только попадай на ресурс и получай данные.Как мне сделать это без RequestBody?

PS Для этого запроса требуется метод GET (можно использовать POST, если это поможет), но GET не принимает RequestBody.

1 Ответ

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

Этот случай не может быть описан в OAS 3.0, и ограничение GET requestBodies состоит в том, чтобы избегать попыток описать поведение API, которое согласно спецификации HTTP не определено.Ограничение на указание Content-Type в качестве «заданного вручную» заголовка также позволяет избежать двусмысленности относительно того, какой механизм должен устанавливать этот заголовок.

https://github.com/OAI/OpenAPI-Specification/issues/1628

Когда клиент отправляет заголовок Content-Type, он используется для описания тела запроса (не ответа)

Чтобы повлиять на тип ответа, клиент может отправить заголовок Accept .
Например: Accept: application/json

...