Swagger.php: как изменить заголовок POST-запроса Content-type

Я использую lib: darkaonline/l5-swagger (^5.5) (который содержит swagger-php + swagger-ui), мне нужно изменить заголовок Content-Type в моем запросе POST для загрузки файла (чтобы прочитать его в Laravel Input::file('photo') ). Я читал, что я должен добавить параметры consumes и produces в свой swagger - это то, что у меня есть:

/**
 *
 * Create Building Photo
 *
 * @SWG\Post(
 *     path="/api/v1/buildings/{buildingId}/photo",
 *     security={{"oauth2": {"*"}}},
 *     tags={"building"},
 *     consumes={"text/plain", "application/json"},
 *     produces={"text/plain", "application/json"},
 *     description="Update building",
 *     @SWG\Parameter(
 *         name="buildingId",
 *         in="path",
 *         description="Building id",
 *         required=true,
 *         type="number",
 *     ),
 *     @SWG\Parameter(
 *          name="photo",
 *          in="formData",
 *          required=true,
 *          description="Building photo",
 *          type="file",
 *     ),
 *     @SWG\Response( response=200, description="ok"),
 *     @SWG\Response( response=404, description="Building not found"),
 * )
 *
 */

Но в запросах Content-type и Accept я всегда получаю application/json, и laravel не может прочитать загруженный файл (когда я генерирую запрос с помощью swagger-ui). Как я должен изменить выше swagger, чтобы позволить laravel читать Input::file('photo') форму POST-запроса, сгенерированного swagger-ui?


person Kamil Kiełczewski    schedule 24.01.2018    source источник


Ответы (2)


Это решение:

 *     consumes={"multipart/form-data"},
 *     produces={"text/plain, application/json"},

:)

person Kamil Kiełczewski    schedule 24.01.2018

Пожалуйста, найдите решение здесь.

Вы должны следовать этим рекомендациям, чтобы настроить Swagger в Laravel с аутентификацией Passport и многим другим.

https://github.com/DarkaOnLine/L5-Swagger

Здесь перечислены некоторые проблемы, с которыми вы можете столкнуться во время внедрения.

https://github.com/DarkaOnLine/L5-Swagger/issues/57

person Mayank Majithya    schedule 21.02.2018
comment
В январе я нашел ответ сам. Вы нашли альтернативный ответ? Если да - опишите это здесь - person Kamil Kiełczewski; 21.02.2018
comment
Мне нужно решение для использования @OA (аннотации Open API). Он продолжает говорить, что используются непредвиденные поля. - person Henry; 12.12.2019