API RESTful desenvolvida em Java com Spring Boot para gerenciamento de cursos. Permite criar, listar, atualizar, ativar/desativar e remover cursos de forma simples e eficiente.
- Cadastro de cursos
- Listagem de todos os cursos
- Filtro por nome e categoria
- Atualização total (PUT) e parcial (PATCH/toggle)
- Ativação/desativação de cursos
- Remoção de cursos
- Java 21
- Spring Boot
- Spring Data JPA
- PostgreSQL
- Lombok
- Clone o repositório:
git clone https://github.com/seu-usuario/api_curso.git cd api_curso - Configure o banco de dados:
- Altere o arquivo
src/main/resources/application.propertiescom as credenciais do seu banco PostgreSQL.
- Altere o arquivo
- Suba o banco com Docker (opcional):
docker-compose up -d
- Execute a aplicação:
ou
./mvnw spring-boot:run
mvn spring-boot:run
POST /cursos
Content-Type: application/json
{
"name": "Java Básico",
"category": "Backend",
"teacher": "João Silva"
}GET /cursosGET /cursos?name=Java&category=BackendPUT /cursos/{id}
Content-Type: application/json
{
"name": "Java Avançado",
"category": "Backend",
"teacher": "Maria Souza",
}PATCH /cursos/{id}/activeDELETE /cursos/{id}api_curso/
├── src/
│ ├── main/
│ │ ├── java/com/danielcosta/api_curso/
│ │ │ ├── modules/course/
│ │ │ │ ├── controller/
│ │ │ │ ├── dto/
│ │ │ │ ├── entities/
│ │ │ │ ├── repositories/
│ │ │ │ └── useCases/
│ │ └── resources/
│ └── test/
├── pom.xml
└── docker-compose.yml
Projeto desenvolvido para fins de estudo e demonstração de arquitetura limpa com Spring Boot.