Tratamento Exception
Atualizado
Atualizado
Nós iremos utilizar o ResourceExceptionHandler (os dados que retorna no Postman conforme tínhamos feito no outro projeto).
Só tem uma coisa, e se for mais de um erro?
Para isso, usaremos a propriedade "e". Ela possui vários atributos tais como: getBindingResult, onde dentro dela, podemos resgatar "getFieldErrors", uma lista de erros (que é onde colocaremos os nossos).
Criaremos um for para percorrer essa lista (esses FieldErros) e tratá-los!
Além disso, criaremos uma classe auxiliar dentro de Exceptions do controller: FieldMessage.
E para completar, criaremos um Objeto de erro (ainda dentro do mesmo pacote), que terá TUDO que o StandError tem + uma lista de FieldMessage.
O fieldName é o campo que está erro: price, name ou whatever.
Agora no ExceptionHandler muda. O retorno não é mais StandartError e sim ValidationError (criado acima).
Novo retorno do Postman passando um preço e nome inválido: