如何解决OpenApi使用JSON发送MultipartFile请求不支持'application / octet-stream'错误
我正在使用Spring Boot,我想使用Swagger UI将带有json的MultipartFile发送给我,但是如果我使用Postman的情况很好的话,我会收到错误'application/octet-stream' error not supported
。
@RequestMapping(value = "/upload",method = RequestMethod.POST,produces = { "application/json" },consumes = { "multipart/form-data" })
public String hello(
@RequestPart(value = "file") MultipartFile file,@RequestPart("grupo") Grupo grupo) {
if (file != null) {
logger.info("File name: " + file.getOriginalFilename());
}
logger.info(grupo.toString());
return grupo.toString();
}
该如何解决?
- springdoc-openapi-ui 1.4.4
- Spring Boot 2.3.2发布
- spring-boot-starter-web
- 行家
- spring-boot-starter-data-jpa
解决方法
要发送带有multipartFile的json,请使用类型为@Parameter
且格式为"string"
的注释"binary"
,以便您可以发送格式为json的文件。
@Parameter(schema =@Schema(type = "string",format = "binary"))
然后就是这样。
@PostMapping(value = "/test",consumes = MediaType.MULTIPART_FORM_DATA_VALUE )
public ResponseEntity<Void> saveDocu2ment(
@RequestPart(value = "personDTO") @Parameter(schema =@Schema(type = "string",format = "binary")) final PersonDTO personDTO,@RequestPart(value = "file") final MultipartFile file) {
return null;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。