У меня есть описание чванства. Там заголовок multipart / form-data отправляется как запрос. Файл и json отправлены. Все это в теле. У меня возникли проблемы с написанием DTO. Свэггер заявляет, что я должен отправить тип "string ($ binary)". Зачем этот тип писать в dto? байт []? или MultipartFile? Я обращусь к контроллеру через restTemplate.
Swagger (поле с именем DATA):
....
/outcome_docs:
post:
operationId: getOutcomeDocs
tags:
- outcome_docs
requestBody:
content:
multipart/form-data:
schema:
$ref: "#/components/schemas/OutcomeDoc"
....
OutcomeDoc:
type: object
description: Some document
properties:
uuid:
description: Identifier
type: string
format: uuid
format:
description: Format type
type: string
enum:
- zip
- folder
system:
description: Some system
type: string
status:
description: Some status
type: string
enum:
- new
- uploading
- uploaded
createDate:
description: date
type: string
format: date-time
updateDate:
type: string
format: date-time
data:
description: file or link to file
type: string
format: binary
Мой DTO
public class ParamsDto {
String uuid;
FormatEnum format;
String system;
StatusEnum status;
String createDate;
String updateDate;
byte[] data;
// setter,getter, constructor
}
Контроллер
@PostMapping(value = "/outcome_docs", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void outcomeDocsRequests(@RequestBody ParamsDto requests){
System.out.println("Success");
}