Uma API REST simples para um CRUD (Create, Read, Update, Delete) de documentos e suas respectivas categorias. Este projeto foi desenvolvido em Java com Spring Boot.
- Java 21
- Spring Boot 3
- Maven
- Spring Data JPA (Hibernate)
- Lombok
- Banco de Dados H2 (em memória)
- Springdoc (Swagger) para documentação da API
-
Clone o repositório:
git clone [URL_DO_SEU_REPOSITORIO] cd docCrud -
Compile o projeto com Maven:
mvn clean install
-
Execute a aplicação:
mvn spring-boot:run
A aplicação estará disponível em http://localhost:8080.
A documentação completa da API, gerada automaticamente pelo Springdoc (Swagger), pode ser acessada no seu navegador após iniciar a aplicação:
➡️ http://localhost:8080/swagger-ui.html
Aqui estão os principais endpoints da API e como usá-los no Postman.
URL Base: http://localhost:8080/api/categorias
- Método:
POST - URL:
http://localhost:8080/api/categorias - Body (JSON):
{ "nome": "Financeiro" }
- Método:
GET - URL:
http://localhost:8080/api/categorias - Body: (Nenhum)
- Método:
GET - URL:
http://localhost:8080/api/categorias/1(substitua1pelo ID desejado) - Body: (Nenhum)
- Método:
PUT - URL:
http://localhost:8080/api/categorias/1(substitua1pelo ID desejado) - Body (JSON):
{ "nome": "Relatórios Financeiros" }
- Método:
DELETE - URL:
http://localhost:8080/api/categorias/1(substitua1pelo ID desejado) - Body: (Nenhum)
URL Base: http://localhost:8080/api/documentos
- Método:
POST - URL:
http://localhost:8080/api/documentos - Body (JSON): (Nota: A categoria com
id: 1deve existir primeiro){ "titulo": "Relatório Anual 2025", "conteudo": "Documento contendo o balanço financeiro do ano.", "categoria": { "id": 1 } }
- Método:
GET - URL:
http://localhost:8080/api/documentos - Body: (Nenhum)
- Método:
GET - URL:
http://localhost:8080/api/documentos/1(substitua1pelo ID desejado) - Body: (Nenhum)
- Método:
PUT - URL:
http://localhost:8080/api/documentos/1(substitua1pelo ID desejado) - Body (JSON):
{ "titulo": "Relatório Anual 2025 (Revisado)", "conteudo": "Conteúdo atualizado.", "categoria": { "id": 1 } }
- Método:
DELETE - URL:
http://localhost:8080/api/documentos/1(substitua1pelo ID desejado) - Body: (Nenhum)