Validando Update de Usuário - UserUpdateValidator
Atualizado
Atualizado
Imagine dar um update no email do usuário 2 (maria), passando o email do Alex. Vai estourar um erro 500.
É um email repetido, então ele pega a restrição de dado do e-mail repetido. Mas não é para dar 500 e sim um erro 402 bonitinho falando o e-mail já está sendo usado.
Criaremos uma validação atualizada para o update.
Usaremos o UserInsertValid e criar um UserUpdateValid.
Usaremos o UserUpdateValid e criar um UserUpdateValidator.
Probleminha: Sabemos que o UserInsertDto estende a classe UserDto. Se usarmos essa anotação criada no UserDto ele também irá herdar essa anotação, e não é o ideal. O UserDto não terá NENHUMA anotação de validação.
Criaremos um UserUpdateDTO (usando UserInsertDto como base). Não terá nada em seu corpo, pois já estende o UserDto.
Lembrar de alterar o método do controller para UserUpdateDTO:
Service também:
Vamos pegar a nossa classe UserUpdateValidator e fazer as devidas alterações.
Sabemos que no update passamos o ID na URL para atualizar. Então acessaremos o ID dentro do Validator.
Injetaremos HttpServletRequest com AutoWired (ele guardará as informações da requisição), usaremos ele para pegar o código, veja: