Mentoria Java Fullstack — Conceitos Aprendidos
(Parte 1)
1. Estrutura de Projeto (Spring Boot)
• Organização em camadas: controller, service, repository e model.
• Separação de responsabilidades para manter o código organizado e escalável.
• Pacote principal do projeto: [Link].
2. Entity (JPA)
• Classe que representa uma tabela no banco de dados.
• Anotação @Entity indica que a classe será mapeada pelo JPA/Hibernate.
• Anotação @Id define a chave primária da tabela.
• Exemplo utilizado: classe Usuario.
3. Encapsulamento (POO)
• Campos da classe definidos como private.
• Acesso aos dados feito através de métodos Getter e Setter.
• Permite controle sobre leitura e escrita dos atributos.
4. Repository (Spring Data JPA)
• Interface responsável pelo acesso ao banco de dados.
• Extende JpaRepository.
• JpaRepository fornece métodos prontos como save() e findAll().
• Exemplo: UsuarioRepository.
5. Service (Camada de Regra de Negócio)
• Camada intermediária entre Controller e Repository.
• Responsável pela lógica de negócio.
• Exemplo: UsuarioService.
• Método criado: salvarUsuario().
6. Controller (API REST)
• Responsável por receber requisições HTTP.
• Usa anotação @RestController.
• Define rotas da API com @RequestMapping.
7. Endpoint POST
• Endpoint criado: POST /usuarios.
• Utiliza anotação @PostMapping.
• Permite criar um novo usuário no sistema.
8. RequestBody
• Anotação @RequestBody converte JSON enviado na requisição em um objeto Java.
• No projeto, converte JSON em objeto Usuario.
9. Fluxo da Aplicação
• Cliente envia requisição HTTP.
• Controller recebe a requisição.
• Service executa a lógica.
• Repository acessa o banco de dados.
• Resposta retorna ao cliente.
10. Teste de API
• Requisições HTTP podem ser testadas com ferramentas como clientes HTTP ou terminal.
• Foi realizado teste usando PowerShell com Invoke-RestMethod.
• Foi enviada uma requisição POST contendo JSON.
11. Endpoint GET
• Endpoint criado: GET /usuarios.
• Utiliza anotação @GetMapping.
• Retorna todos os usuários cadastrados.
12. Método findAll()
• Método fornecido automaticamente pelo JpaRepository.
• Responsável por buscar todos os registros da tabela.
13. Resposta JSON
• A API retorna dados no formato JSON.
• JSON é o formato padrão utilizado em APIs REST.