Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

NotNull funciona para Long?

Eu fiz uma requisição sem os valores String e ele validou corretamente, mas quando eu não coloquei os valores que são Long, ele aceitou. Uma solução alternativa que consegui validar foi inserindo essa notação: @field:Min(1) ao invés do @field:NotNull. No caso dos ids, fez sentido, porém ele impossibilita a busca do id 0.

2 respostas
solução!

Olá Matheus!

A anotação @NotNull do Bean Validation é usada para garantir que um campo não seja nulo. No entanto, ela não impede que o valor seja zero ou um número negativo, o que pode ser um problema dependendo do contexto da sua aplicação.

Quando você usa @field:Min(1), você está garantindo que o valor deve ser no mínimo 1, o que resolve o problema do zero, mas pode não ser adequado se você precisa permitir o valor zero em alguns casos.

Uma abordagem que pode funcionar é combinar as anotações @NotNull e @Min(1) para garantir que o campo não seja nulo e que o valor seja maior ou igual a 1.

Espero ter ajudado e bons estudos!

Olá professor, obrigado pela resposta!

Faltou eu sinalizar para o atributo que ele pode ser nulo (?).

@field:NotNull(message = "id is required")
 val id: Long?,

Eu coloquei o "?" depois da declaração e agora está validando certinho.