Я использую Springboot с Swagger в моем проекте. Я создал такой метод записи:
@RequestMapping("/ufile")
@Api(value = "文件服务", tags = {"文件服务"})
public class UfileController extends BaseApiController {
private static final Logger logger = LoggerFactory.getLogger(UfileController.class);
@ApiOperation(value = "文件上传", response = ApiResponse.class)
@PostMapping(value = "/upload", produces = "application/json;charset=utf-8")
public ApiResponse upload(@Valid @RequestBody UploadRequest uploadRequest, @ApiIgnore HttpServletResponse response
, @RequestParam(value = "protocol", defaultValue = "thrift", required = false) @ApiIgnore String protocol) {
.......
}
}
Я использовал @RequestBody в модели UploadRequest в приведенном выше коде. И это модель UploadRequest :
@Data
@ApiModel("文件上传请求")
public class UploadRequest extends BaseRequest {
@ApiModelProperty(value = "上传的文件", name = "上传的文件")
@NotEmpty
private MultipartFile[] multipartFiles;
@ApiModelProperty(value = "租户id", name = "租户id")
@NotBlank
private String tenantId;
@ApiModelProperty(value = "图片是否需要对应水印图片", name = "图片是否需要对应水印图片")
private boolean needWaterMark;
}
Swagger хорошо работает в этой сцене, он находит ApiModel UploadRequest , и когда я посещаю Swagger-UI. html .Я вижу, что:
Но когда я не использую @RequestBody в модели UploadRequest, swagger не может найти UploadRequest . Когда я Посетите Swagger-UI, нет UploadRequest в Модель метка.
Что я хочу, так это когда я изменяю свой код следующим образом:
@RestController
@RequestMapping("/ufile")
@Api(value = "文件服务", tags = {"文件服务"})
public class UfileController extends BaseApiController {
private static final Logger logger = LoggerFactory.getLogger(UfileController.class);
@ApiOperation(value = "文件上传", response = ApiResponse.class)
@PostMapping(value = "/upload", produces = "application/json;charset=utf-8")
public ApiResponse upload(@Valid UploadRequest uploadRequest, @ApiIgnore HttpServletResponse response
, @RequestParam(value = "protocol", defaultValue = "thrift", required = false) @ApiIgnore String protocol) {
}
}
swagger все еще может найти ApiModel UploadRequest.when, когда я посещаю swagger-ui. html, этикетка Модель содержит UploadRequest.
Кто может мне помочь, пожалуйста.