FredeMT / place-service

Reactive API - Spring WebFlux - API com a funcionalidade de gerenciamento de lugares (CRUD places). Projeto de finalidade didática.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Place Service

Spring WebFlux Reactive API

API com a funcionalidade de gerenciamento de lugares (CRUD places). Projeto de finalidade didática.

Tecnologias

Práticas adotadas

  • SOLID
  • Testes automatizados
  • Consultas com filtros dinâmicos usando o Query By Example
  • API reativa na web e na camada de banco
  • Uso de DTOs para a API
  • Injeção de Dependências
  • Geração de slugs automática com o Slugify
  • Auditoria sobre criação e atualização da entidade

Formas de executar a API:

Localmente

  • Clonar repositório git
  • Construir o projeto:
./mvnw clean package
  • Executar:
java -jar place-service/target/place-service-0.0.1-SNAPSHOT.jar

A API poderá ser acessada em localhost:8080.

Usando Docker

  • Clonar repositório git
  • Construir o projeto:
./mvnw clean package
  • Construir a imagem:
./mvnw spring-boot:build-image
  • Executar o container:
docker run --name place-service -p 8080:8080  -d place-service:0.0.1-SNAPSHOT

A API poderá ser acessada em localhost:8080.

API Endpoints

Para fazer as requisições HTTP, foi utilizada a ferramenta Postman:

  • POST /places
curl --location --request POST 'http://localhost:8080/place' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Place water",
    "state": "State"
}'

About

Reactive API - Spring WebFlux - API com a funcionalidade de gerenciamento de lugares (CRUD places). Projeto de finalidade didática.


Languages

Language:Java 100.0%