3

我使用 lib: darkaonline/l5-swagger (^5.5)(其中包含 swagger-php + swagger-ui),我需要在我的 POST 请求中更改标头 Content-Type 以上传文件(在 Laravel Input::file 中读取它('照片') )。我读到我应该向我的招摇中添加consumesproduces参数 - 这就是我所拥有的:

/**
 *
 * 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-typeAccept我总是得到application/json并且 laravel 无法读取上传的文件(当我使用 swagger-ui 生成请求时)。我应该如何更改上面的招摇以允许 laravel 读取 Input::file('photo') 表单由 swagger-ui 生成的 POST 请求?

4

2 回答 2

1

这是解决方案:

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

:)

于 2018-01-24T00:43:36.970 回答
0

请在此处找到解决方案。

您应该遵循此指南在 Laravel 中使用 Passport 身份验证等设置 Swagger

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

在这里,列出了您在实施过程中可能遇到的一些问题。

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

于 2018-02-21T10:15:44.397 回答