Construa uma API REST para gerenciamento de clientes e seus contatos. Cada cliente pode ter um ou mais contatos associados.
A aplicação deve conter:
- Cadastro de Cliente:
POST /clientes
- Cadastro de Contato associado a um cliente existente:
POST /contatos
- Listagem de todos os clientes com seus contatos:
GET /clientes
- Listagem de contatos de um cliente específico:
GET /clientes/{id}/contatos
- Uso do Spring Boot + Spring Data JPA
- Banco de Dados PostgreSQL
- Entidades Cliente e Contato com relacionamento
@OneToMany
/@ManyToOne
Esperamos que o código siga boas práticas de desenvolvimento, incluindo:
- Separação de responsabilidades (
controller
,service
,repository
) - Uso de DTOs para entrada e saída de dados
- Tratamento adequado de erros
- Uso de Lombok
- Uso de Docker para subir o PostgreSQL
- Testes automatizados
- Documentação com Swagger
Este projeto está sob a Licença MIT. Consulte o arquivo LICENSE.md para obter mais detalhes.