Skip to content

Este projeto consiste em uma simples API para demonstrar o uso do padrão de projetos criacional builder e a biblioteca Lombok.

Notifications You must be signed in to change notification settings

rafaelmagalhaesguedes/BuilderPatternWithLombok

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Builder Pattern and Lombok

Este projeto consiste em uma simples API para demonstrar o uso do padrão de projetos criacional builder e a biblioteca Lombok.

Tecnologias

  • Java 17
  • Spring Boot
  • Lombok
  • Postgres
  • Docker

Uso

  1. Clone o projeto

  2. Suba o docker com o serviço do banco de dados

    docker compose up -d --build
    
  3. Rode o spring boot com o servidor tomcat

    mvn spring-boot:run
    
  4. Acesse em http://localhost:8080/api

Endpoints

Cria um usuário básico:

  • Request: POST /api/user/basic

    {
      "name": "Ana",
      "email": "corina@email.com"
    }
    
  • Response:

    {
      "id": 13,
      "name": "Ana",
      "email": "corina@email.com"
      "userType": "BASIC"
    }
    

Cria um usuário premium:

  • Request: POST /api/user/premium

    {
      "name": "João",
      "email": "joão@email.com"
    }
    
  • Response:

    {
      "id": 14,
      "name": "João",
      "email": "joao@email.com",
      "code": "BL4TSLBPLA",
      "userType": "PREMIUM"
    }
    

Lista todos os usuários básicos

  • Response:

    [
      {
        "id": 8,
        "name": "Rafa",
        "email": "rafa@email.com",
        "userType": "BASIC"
      },
      {
        "id": 9,
        "name": "Toca",
        "email": "toca@email.com",
        "userType": "BASIC"
      },
      { 
        "id": 13,
        "name": "Ana",
        "email": "ana@email.com",
        "userType": "BASIC"
      }
    ]
    

Lista todos os usuários premiums

  • Response:

    [
      {
        "id": 14,
        "name": "Lorena",
        "email": "lorena@email.com",
        "code": "RDQ6KRI9NV",
        "userType": "PREMIUM"
      },
      {
        "id": 15,
        "name": "Paty",
        "email": "paty@email.com",
        "code": "9HFM44EZTF",
        "userType": "PREMIUM"
      },
      { 
        "id": 20,
        "name": "Guedes",
        "email": "guedes@email.com",
        "code": "314YW98MIQ",
        "userType": "PREMIUM"
      }
    ]
    

About

Este projeto consiste em uma simples API para demonstrar o uso do padrão de projetos criacional builder e a biblioteca Lombok.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages