Mentoria Java Fullstack
Construindo uma API REST com Spring Boot (Passo a Passo)
Esta apostila acompanha uma mentoria prática para iniciantes absolutos em desenvolvimento backend. O
objetivo é ensinar como construir uma API REST usando Java e Spring Boot seguindo boas práticas de
arquitetura utilizadas no mercado.
Sumário
1. O que é uma API
2. O que é Spring Boot
3. Estrutura de um Projeto Java Backend
4. Arquitetura em Camadas
5. Criando a Entidade Usuario
6. Encapsulamento (POO)
7. Criando o Repository
8. Criando o Service
9. Criando o Controller
10. Fluxo completo da aplicação
11. Testando a API
12. Próximos passos da mentoria
1. O que é uma API
API significa Application Programming Interface.
Uma API permite que diferentes sistemas se comuniquem entre si.
Exemplo:
Um aplicativo de celular pode conversar com um servidor através de uma API.
O servidor responde enviando dados como usuários, produtos ou pedidos.
2. O que é Spring Boot
Spring Boot é um framework Java que facilita a criação de aplicações backend.
Ele oferece:
- Servidor embutido
- Configuração automática
- Integração com banco de dados
- Criação de APIs REST
3. Estrutura de um Projeto Backend
No projeto criamos o pacote:
[Link]
Dentro dele criamos:
controller → recebe requisições HTTP
service → lógica de negócio
repository → comunicação com banco
model → representação dos dados
4. Arquitetura em Camadas
A arquitetura em camadas separa responsabilidades.
Controller → recebe requisição
Service → processa regras
Repository → acessa banco
Model → estrutura dos dados
5. Criando a Entidade Usuario
A entidade representa uma tabela do banco.
@Entity
public class Usuario {
@Id
private Long id;
private String nome;
private String email;
private String senha;
}
6. Encapsulamento (POO)
Encapsulamento significa proteger os atributos da classe.
Usamos getters e setters para acessar ou modificar os valores.
Isso evita acesso direto às variáveis internas da classe.
7. Criando o Repository
O repository comunica com o banco de dados.
public interface UsuarioRepository
extends JpaRepository {
}
8. Criando o Service
O service contém regras de negócio.
@Service
public class UsuarioService {
private final UsuarioRepository usuarioRepository;
public UsuarioService(UsuarioRepository usuarioRepository){
[Link] = usuarioRepository;
}
public Usuario salvarUsuario(Usuario usuario){
return [Link](usuario);
}
}
9. Criando o Controller
O controller recebe requisições HTTP.
@RestController
@RequestMapping("/usuarios")
public class UsuarioController {
private final UsuarioService usuarioService;
public UsuarioController(UsuarioService usuarioService){
[Link] = usuarioService;
}
@PostMapping
public Usuario criarUsuario(@RequestBody Usuario usuario){
return [Link](usuario);
}
}
10. Fluxo da Aplicação
1 Cliente faz requisição HTTP
2 Controller recebe requisição
3 Controller chama Service
4 Service chama Repository
5 Repository salva no banco
6 Resposta retorna ao cliente
11. Testando a API
Podemos testar com ferramentas como:
- curl
- Postman
- Insomnia
Exemplo usando curl:
curl -X POST [Link] -H "Content-Type:
application/json" -d
'{"id":1,"nome":"Erick","email":"erick@[Link]","senha":"123456"}'
12. Próximos Passos
Na continuação da mentoria iremos aprender:
GET → listar usuários
GET por ID
PUT → atualizar usuário
DELETE → remover usuário
DTO
Validação
Banco de dados real
Autenticação
Integração com frontend