Я работаю над сервисом, который принимает DTO в методе POST и создает объект на основе этого DTO. Внутри находится многокомпонентный файл, который будет изображением, используемым сущностью, которая будет создана.
Используя почтальон для проверки моего бэкэнда, я продолжаю получать, казалось бы, пустой DTO. Три лога внутри контроллера возвращают null
, 0
и null
соответственно.
Вот как я настраиваю свои данные, и я уверен, что проблема в этом:
Я преобразовал свое изображение в строку base64, которая, насколько я знаю, является единственным способом публикации вложенного изображения.
Код
Контроллер
@PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<InventoryComponentDto> create(@ModelAttributee InventoryComponentDto request) {
System.out.println(request.getDescription());
System.out.println(request.getMinimal_supply());
System.out.println(request.getComponent());
InventoryComponentDto result = inventoryComponentService.create(request);
if (result == null) {
return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST);
}
return ResponseEntity.ok(result);
}
InventoryComponentDto
public class InventoryComponentDto {
private ComponentDto component;
private String description;
private Date createdAt;
private Date updatedAt;
private int minimal_supply;
private int supply;
}
ComponentDto
public class ComponentDto {
private Long id;
private int number;
private String name;
private FileDto image;
}
FileDto
public class FileDto {
private String name;
private String type;
private String url;
private MultipartFile data;
}
Как бы я смог адекватно создать свой dto в почтальоне, включая изображение?
Обновление
"status": 400,
"error": "Bad Request",
"message": "JSON parse error: (was java.lang.NullPointerException); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.package.MCI.dto.InventoryComponentDto[\"component\"]->com.package.MCI.dto.ComponentDto[\"image\"])",
"trace": "org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: (was java.lang.NullPointerException); nested...