Но, если даже отправлять null например на поле created, то ошибки не вылазит. Почему так и как исправить?
@Data
@NoArgsConstructor
@Component
public class MessageDto {
@NotNull(message = "field cannot be null")
private Date created;
private String text;
@NotNull
private UUID fromUserId;
@NotNull
private UUID toUserId;
private List<UUID> attach;
}
@RestController
@RequestMapping("/api/messages")
public class MessageController {
private final MessageService messageService;
public MessageController(MessageService messageService) {
this.messageService = messageService;
}
@PostMapping("/v1/send-message")
public ResponseEntity<?> sendMessage(@Valid @RequestBody MessageDto messageDto) {
Message message = messageService.sendMessage(messageDto);
return ResponseEntity.ok(message.getId());
}
}
Binding result в контроллер добавь и им ошибки вытаскивай
Ошибка валидации же должна происходить, даже если вручную все не прописал
Ты провалидировал, а с результатом валидации ничего не делаешь, поэтому ничего и не выскакивает
@Valid кидает ConstraintViol... сам, ничего не надо делать чтобы ошибку хотя бы увидеть. у него же я так понимаю вообще даже исключение не выпало
просто над контроллером ставить @Validated
да, все именно так. Там ничего делать не надо чтобы ошибку увидеть. На параметр в контроллере пишем аннотацию @Valid и в классе прописываем аннотации к полям. И все именно так и произошло. Даже исключение не выпало
Обсуждают сегодня