我使用lib:darkaonline/l5-swagger (^5.5)(包含swagger-php + swagger-ui),我需要在POST请求中更改标题Content-Type以上传文件(在Laravel Input :: file中读取它) '照片'))。我读到我应该将consumes
和produces
参数添加到我的招摇 - 这就是我所拥有的:
/**
*
* 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生成请求时)。我应该如何改变上面的招摇以允许laravel读取输入::文件('照片')形成由swagger-ui生成的POST请求?
答案 0 :(得分:1)
这是解决方案:
* consumes={"multipart/form-data"},
* produces={"text/plain, application/json"},
:)
答案 1 :(得分:0)
请在此处找到解决方案。
您应遵循此指南,在Laravel中使用Passport身份验证设置Swagger等等
https://github.com/DarkaOnLine/L5-Swagger
此处列出了您在实施过程中可能遇到的一些问题。