Projeto | Tecnologias | Etapas | Requisitos | Licença | Referências
- Criação de uma API CRUD Rest em Java:
- Criar 5 endpoints para operações CRUD básicas:
- Create
- Read all
- Read one
- Update
- Delete
- Spring Boot (Framework to build web servers in Java)
- Hibernate (Java ORM)
- Postgres (relational database)
- Docker (for containerization)
- Docker Compose
- Crie um aplicativo Java usando Spring Boot, Spring Web, Spring Data e Hibernate.
- Execute o banco de dados Postgres em um contêiner usando o Docker Compose e teste-o com o TablePlus.
- Dockerize o aplicativo Java escrevendo um Dockerfile e um arquivo docker-compose.yml para executar o aplicativo e o banco de dados.
- Crie o aplicativo Java, crie a imagem do Docker e execute o contêiner usando o Docker Compose e teste-o com o Insomnia.
- Java instalado
- Maven (ou qualquer outra ferramenta de compilação para Java)
- Qualquer IDE Java
- Docker instalado e em execução
- (Opcional): Insomnia e Tableplus para acompanhar, mas qualquer ferramenta de teste funcionará
- (Opcional):Extensões para o Vscode:
- Extension Pack for Java
- Spring Initializr Java Support
- Spring Boot
- Maven project
- Spring Boot version 3.0.5
- Escolha a package. Meu caso: io.viana
- Artifact Id
- Tipo do pacote: Jar
- Java version: 17
- Spring Web (Para lidar com solicitações HTTP)
- Spring Data JPA (Para manipular o banco de dados)
- PostgreSQL Driver
- Criando o arquivo .jar
mvn clean package -DskipTests
- Rodando o docker compose
docker compose up --build
- Requisição
GET
para localhost:8080/api/users - Deve retornar um array vazio
-
Fazer uma requisição
POST
para localhost:8080/api/users -
Criar usuário 1.
- Criar usuário 2.
- Criar usuário 3.
- Pegar todos os usuários fazendo uma requisição
GET
para localhost:8080/api/users
- Obtendo um usuário específico, solicitação
GET
para localhost:8080/api/user/3
- Atualizando um item em específico, solicitação
PUT
localhost:8080/api/users/2 fornecendo um novo corpo
- Excluindo o usuário 1, solicitação
DELETE
para localhost:8080/api/users/1