Instrutor: Prof. Dr. Nélio Alves
Escola: DevSuperior
Sumário:
- Sobre
- Objetivo
- Recursos
- Grade Curricular
- Padrões adotados
- Modelo de domínio
- Exemplos de requisições
- Licença
DSCatalog é um projeto guiado desenvolvido durante o primeiro módulo do curso Java Spring Expert da escola DevSuperior.
O projeto tem como objetivo consolidar os fundamentos do desenvolvimento backend com Spring Boot, JPA/Hibernate e boas práticas de API REST, incluindo paginação, tratamento de exceções e modelagem relacional.
- Java 25
- Spring Boot 4.0.1
- Maven 4.0.0
- Banco de dados H2
- STS 4 (IDE)
[✔] Setup do projeto DSCatalog
[✔] Banco de dados H2
[✔] Criação de entidades
[✔] Transações e sessão JPA
[✔] Seeding da base de dados
[✔] Criação de ambiente no Postman
[✔] Tratamento de exceções
[✔] CRUD
[✔] Dados de auditoria
[✔] Relacionamento N-N (revisão)
[✔] Mapeamento JPA N-N
- Arquitetura em camadas (Controller, Service, Repository)
- DTOs para comunicação externa
- Paginação com Spring Data Pageable
- Product
- Category
- Relacionamento N–N
- Campos de auditoria (
createdAt,updatedAt)
GET /productsGET /products/{id}POST /productsPUT /products/{id}DELETE /products/{id}
GET /categoriesGET /categories/{id}POST /categoriesPUT /categories/{id}DELETE /categories/{id}
A API utiliza paginação baseada em Pageable do Spring Data.
Parâmetros suportados:
pagesizesort
Exemplo:
GET /products?page=0&size=12&sort=name,asc{
"name" : "Garden"
}{
"name": "PS5",
"description": "The new generation PS5 video game",
"price": 600.0,
"imgUrl": "",
"date": "2020-07-20T10:00:00Z",
"categories": [
{
"id": 1
},
{
"id": 3
}
]
}{
"name" : "Fiction"
}{
"name": "Updated product name",
"description": "Updated product description",
"price": 600.0,
"imgUrl": "",
"date": "2020-07-20T10:00:00Z",
"categories": [
{
"id": 1
},
{
"id": 3
}
]
}