Skip to content

04_restvalidation

Douglas Fernandes edited this page Jan 14, 2020 · 6 revisions

Validação de Segurança

A proposta é adicionar validações para os objetos da nossa API Rest Simples.

Referência: Spring REST Validation Example

Agora vamos criar uma serviço REST para manipular o nosso cadastro.

Começamos este passo na branch t02/01

Inicialmente foi feita uma limpeza no código para tira arquivos necessários, e referências que não estavam sendo usada, para fazer as mesma alteraçoes veja a DIFF com a branch anterior

Passo a Passo 1

Podemos utilizar as validações da package javax.validation.constraints nos nossos modelos de entradas, e para adicionar a validação simples no controller, somente será necessário adicionar a annotation @Valid no parametro de entrada.

Depois destas alterações, chamadas inválidas irão retornar um objeto padrão de erro especificando as pendências.

  1. Altere a classe ClientCreateRequest, para adicionar as validações. DIFF alterações. Arquivo Final.
  2. Altere o controller ClientController, para adicionar @Valid. DIFF alterações Arquivo final.

Branch final t02/02.

Para ver as alterações completas DIFF das alterações

Acessem http://localhost:8080/swagger-ui.html, e tentem fazer uma requisição inválida.

Passo a Passo 2

Agora vamos fazer um validador customizado, para validar o campo phone do cadastro.

  1. Criar a package: com.example.demo.domain.validators.
  2. Dentro da package com.example.demo.domain.validators, crie uma nova @interface Phone. Arquivo final.
  3. Dentro da package com.example.demo.model.validators, crie uma nova classe PhoneValidator. Arquivo final.
  4. Atualize o modelo ClientCreateRequest, para adicionar a nova validação. DIFF.

Acessem http://localhost:8080/swagger-ui.html, e tentem fazer uma requisição inválida.

Branch final t02/03.

Para ver as alterações completas DIFF das alterações

Siga para o próximo tópico: Primeira Entidade

Clone this wiki locally