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.
