Java Spring Expert Capítulo 4
Java Spring Expert Capítulo 4
Java Spring Expert Capítulo 4
Competências
● Realização de caso de uso
○ Consulta detalhada de produtos
○ Signup
○ Recuperação de senha
○ Obter usuário logado
● Consultas ao banco dados
● Envio de email com Gmail
Material de revisão de SQL e ORM
Cenário principal:
1. [OUT] O sistema informa id e nome de todas categorias de produto
2. [IN] O usuário informa:
- trecho do nome do produto (opcional)
- categorias de produto desejadas (opcional)
- número da página desejada
- quantidade de itens por página
3. [OUT] O sistema informa uma listagem paginada dos produtos com suas respectivas
categorias, conforme os critérios de consulta, ordenados por nome.
Protótipos de tela:
https://www.figma.com/file/cNa2l3TqZXxbU6NBDPruNw/BDS-DSCatalog
Planejando a requisição:
/products?page=0&size=12&name=ma&categoryId=1,3
Dependência Maven
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
Arquivo application-dev.properties
#spring.jpa.properties.jakarta.persistence.schema-generation.create-source=metadata
#spring.jpa.properties.jakarta.persistence.schema-generation.scripts.action=create
#spring.jpa.properties.jakarta.persistence.schema-generation.scripts.create-target=create.sql
#spring.jpa.properties.hibernate.hbm2ddl.delimiter=;
spring.datasource.url=jdbc:postgresql://localhost:5433/dscatalog
spring.datasource.username=postgres
spring.datasource.password=1234567
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.hibernate.ddl-auto=none
Cenário principal:
1. [IN] O usuário informa primeiro nome, sobrenome, email e senha
Informações complementares
Critérios de validação de usuário
● Nome: campo requerido
● Email: email válido
● Senha: mínimo 8 caracteres
Acessar sua conta no Google -> Segurança -> Validação em duas etapas -> Senhas de app
https://myaccount.google.com/
Selecionar dispositivo -> Outro -> (escolha um nome que lembre seu app) -> Gerar
Pronto! Sua senha de app de 16 caracteres foi gerada. Salve-a em um lugar seguro.
Corpo da requisição:
{
"to": "[email protected]",
"subject": "Aviso aos clientes",
"body": "Prezado cliente,\n\nAcesse agora:\n\nhttps://devsuperior.com.br\n\nAbraços!"
}
Cenário principal:
1. [IN] O usuário informa seu email
2. [OUT] O sistema informa o token de recuperação e a validade do mesmo
3. [IN] O usuário informa o token de recuperação e a nova senha
Informações complementares
Critérios de validação de senha:
● Mínimo 8 caracteres