我正在使用 Spring Boot,我想使用 Swagger UI 发送带有 json 的 MultipartFile 但我收到错误 'application/octet-stream' error not supported
,如果我使用 postman 工作得很好。
@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();
}
如何解决这个问题?最佳答案
要使用 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;
}
引用 - Multipart Request with JSON - GitHub Springdoc openApi
关于spring-boot - OpenApi 使用 JSON 发送 MultipartFile 请求获取 'application/octet-stream' 错误不支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63367971/