O projeto demonstra a criação de uma API RESTful seguindo o método de Leonard Richardson, utilizando 4 níveis para padronização e desenvolvimento:
Níveis:
- POX (Plain Old XML): Comunicação via HTTP sem regras para métodos.
- Recursos: Modelagem da API com recursos (substantivos no plural).
- Verbos HTTP: Uso correto de verbos como GET, POST, PUT e DELETE.
- HATEOAS (Hypertext As The Engine Of Application State): Fornecimento de links para navegação entre recursos.
Base de dados: PostgreSQL.
Camadas:
Models: Lógica da aplicação e regras de negócio.
DTOs: Transferência de dados entre subsistemas.
Controllers: Recebimento de requisições do usuário.
Repositories com JPA: Interface para acesso e persistência de dados com JPA.
Benefícios:
Padronização e melhor organização da API.
Desenvolvimento mais eficiente e escalável.
Maior clareza e facilidade de uso para os consumidores da API.
Dependências:
- Spring Web MVC.
- Spring Data JPA.
- Spring Validation.
- Spring Halteoas.