David Rodrigues
← Voltar

API REST em Java — CRUD de Produtos

Completo2024

API REST em Java com CRUD completo de produtos, persistência em banco, validação de dados, migrations com Flyway e documentação via Swagger/OpenAPI.

BackendArquitetura
JavaSpring BootJPAFlywaySwaggerJUnit
Preview do sistema
Swagger UI da API Java com endpoints de produtos
Execução do endpoint POST com resposta 201 Created no Swagger

Métricas

API
REST
endpoints para listar, cadastrar, editar e remover
Banco
JPA + Flyway
persistência e versionamento do schema
Docs
Swagger UI
documentação interativa via OpenAPI
Execução
Spring Boot
subida local com Maven

Como executar

Headless
mvn test
UI (visual)
mvn spring-boot:run

Dica: Rode os comandos na raiz do projeto, onde está o pom.xml.

Destaques

  • CRUD completo de produtos com validação de entrada
  • Tratamento de erros padronizado para respostas mais consistentes
  • Migrations com Flyway e documentação interativa com Swagger

Case Study

Contexto
Context

O projeto foi desenvolvido para demonstrar uma API backend em Java com estrutura mais próxima de um ambiente profissional, indo além do CRUD básico ao incluir persistência, validação, versionamento do banco e documentação navegável.

The project was built to demonstrate a Java backend API with a structure closer to a professional environment, going beyond basic CRUD by including persistence, validation, database versioning, and browsable documentation.

Objetivo
Goal
PT
  • Construir uma API CRUD com boas práticas de backend.
  • Garantir consistência do banco com migrations.
  • Documentar os endpoints para facilitar testes e exploração da API.
EN
  • Build a CRUD API with backend best practices.
  • Ensure database consistency with migrations.
  • Document endpoints to make API testing and exploration easier.
Abordagem
Approach
PT
  • Separação em camadas com controller, service, repository e DTOs.
  • Validação de entrada e respostas de erro padronizadas.
  • Uso de Swagger/OpenAPI para documentação interativa dos endpoints.
EN
  • Layered separation with controller, service, repository and DTOs.
  • Input validation and standardized error responses.
  • Use of Swagger/OpenAPI for interactive endpoint documentation.
Resultados
Results
PT
  • API funcional com operações completas de CRUD.
  • Documentação acessível pelo navegador para demonstração do projeto.
  • Base pronta para evoluções como autenticação, CI e deploy em nuvem.
EN
  • Functional API with complete CRUD operations.
  • Documentation accessible through the browser for project showcase.
  • A solid base for future improvements such as authentication, CI, and cloud deployment.