Mapeamento DTO de entrada com records

  1. Criamos o pacote dtos;

  2. Criamos um Record DTO, denominado ProductRecordDto;

  3. Passaremos os parâmetros do Product, menos ID pois não precisamos nos preocupar.

public record ProductRecordDto(String name, BigDecimal Value){}

Destacando-se que o Record já possui métodos prontos, como: getters/constructores/equals&hashcode etc.

Records além disso, são IMUTÁVEIS, por isso, não possuem métodos SETTERS.

Para validarmos, dentro do parâmetro passaremos algumas anotações, como:

public record ProductRecordDto(@NotBlank String name, @NotNull BigDecimal value) {}

Atualizado