API desenvolvida em Java utilizando Spring Boot, com banco de dados PostgreSQL. O projeto está conteinerizado usando Docker, permitindo fácil configuração e execução.
- Java 17
- Maven
- PostgreSQL
- Docker
- Docker Compose
-
Clone o repositório:
git clone https://github.com/Jeferson-Mendes/suppliers-api.git cd suppliers-api
-
Configure o banco de dados PostgreSQL:
Crie um banco de dados PostgreSQL e um usuário. Anote as credenciais para serem usadas no
application.properties
. -
Configure o
application.properties
:Abra o arquivo
src/main/resources/application.properties
e configure as propriedades do banco de dados conforme necessário. Inclua:spring.datasource.url=jdbc:postgresql://localhost:5432/nome_do_banco spring.datasource.username=seu_usuario spring.datasource.password=sua_senha spring.jpa.hibernate.ddl-auto=update
-
Instale as dependências e compile o projeto:
mvn clean install
-
Execute a aplicação:
Utilizando a interface da sua IDE de preferência, ou executando o comando:
mvn spring-boot:run
A aplicação estará disponível em http://localhost:8080
.
-
Clone o repositório:
git clone https://github.com/Jeferson-Mendes/suppliers-api.git cd suppliers-api
-
Crie e execute seu aplicativo com o Compose:
docker compose up
Isso irá construir as imagens Docker e iniciar os contêineres do PostgreSQL e da aplicação Spring Boot.
A aplicação estará disponível em http://localhost:8080
.
src/main/java
: Código fonte Javasrc/main/resources
: Arquivos de configuração, incluindoapplication.properties
Dockerfile
: Definição do contêiner Docker para a aplicaçãodocker-compose.yml
: Configuração do Docker Compose para a aplicação e banco de dados
A API possui os seguintes endpoints:
GET /api/supplier?page=0&size=10&searchTerm=
: Lista todos os fornecedores, com paginação e opção de filtragemGET /api/supplier/category/{categoria}?page=0&size=10&
: Lista os fornecedores pela categoria, com paginaçãoGET /api/supplier/{id}
: Busca um fornecedor pelo IDPOST /api/supplier
: Cria um novo fornecedorPUT /api/supplier/{id}
: Atualiza um fornecedor existenteDELETE /api/supplier/{id}
: Deleta um fornecedor