Skip to content

Latest commit

 

History

History
362 lines (284 loc) · 8.22 KB

README.md

File metadata and controls

362 lines (284 loc) · 8.22 KB

API Site de Seminovos

Olá, seja muito bem vindo ao meu primeiro projeto solo utilizando Spring👋🏼

Este é um projeto de uma APIRest do "NetBank".

🗂️ Sumário

  • Funcionalidades
  • Tecnologias Utilizadas
  • Configurações
  • Como Executar
  • Endpoints
  • Observações
  • Autor
  • Contato
  • 📑Funcionalidades

      C.R.U.D (Create, Read, Update, Delete)

    • Listar todos os veiculos cadastrados
    • Cadastrar um novo veiculo
    • Detalhar veiculo
    • Excluir um veiculo
    • Listar todas as fotos de um veiculo
    • FILTROS

    • Filtrar veiculo por Ano
    • Filtrar veiculo por Km
    • Filtrar veiculo por Cambio

    🖥️Tecnologias Utilizadas

    • Java
    • Spring
    • JPA / Hibernate
    • PostgreSQL
    • JDBC
    • Lombok
    • Spring Validation

    ⚙️Configurações

    Antes de executar o projeto, é necessário realizar as seguintes configurações:

    1. Configurar o banco de dados PostgreSQL e criar o banco de dados "contas".
    2. Modificar as informações de conexão com o banco de dados (URL, usuário e senha) no pacote resources/application.properties

    ❓Como Executar

    1. Clone ou faça o download do projeto para o seu ambiente de desenvolvimento.
    2. Importe o projeto para a sua IDE Java (Eclipse, IntelliJ, etc.).
    3. Realize as configurações necessárias conforme descrito acima.
    4. Start o projeto.
    5. Acesse a aplicação pelo Insomnia, Postman, etc. Utilizando as requisições abaixo.

    🌐Endpoints

    Endpoints Parameters Verb
    /cadastrarVeiculo * POST
    /estoque * GET
    /detalharVeiculo/{id} * GET
    /excluirVeiculo/{id} * DELETE
    /fotos/{id} * GET
    /filtrarPorCambio * GET
    /filtrarPorKm * GET
    /filtrarPorAno * GET
    CADASTRAR NOVO VEICULO - /cadastrarVeiculo

    Descrição

    • Cadastra um novo veiculo instancia-lo no banco de dados.

    Códigos de Resposta

    • 201: CREATED.

    Exemplo de Requisição

    • POST - /cadastrarVeiculo
    • HTTP/1.1
    • Host: localhost:8080
    • Content-Type: application/json
    {
      "marca": "Toyota",
    "modelo": "Corola",
    "anoFabEMod": "2022/2022",
      "versao": "XEI 2.0",
    "cambio": "Automático",
    "qtdePortas": 4,
    "combustivel": "Flex",
    "km": 21200,
     "placa": "PKM-9B26",
     "preco": 120.900,
     "descricao":"There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable..",
         "urlFotos": [
      			 {"url": "https://th.bing.com/th/id/R.03d9e96b44a62713150494967867f57f?rik=7zPJiyQAU1fzFg&pid=ImgRaw&r=0"},
      			 {"url": "https://th.bing.com/th/id/OIP.KqLjGk_VYQob-x0UlsVoFwHaFj?pid=ImgDet&rs=1"}
      		 ]
    }

    Exemplo de Resposta

    • HTTP/1.1 201 CREATED
    • Content-Type: application/json
        {
      "id": 6,
      "marca": "Toyota",
      "modelo": "Corola",
      "anoFabEMod": "2022/2022",
      "versao": "XEI 2.0",
      "cambio": "Automático",
      "qtdePortas": 4,
      "combustivel": "Flex",
      "km": 21200,
      "placa": "PKM-9B26",
      "preco": 120.9,
      "descricao": "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable.."
    }
    LISTAR ESTOQUE - /estoque

    Descrição

    Lista os veiculos contidos no banco de dados.

    Códigos de Resposta

    • 200: OK.

    Exemplo de Requisição

    • GET - /contas/getAll
    • HTTP/1.1
    • Host: localhost:8080

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
    {
      "content": [
      	{
      		"marca": "Fiat",
      		"modelo": "Uno",
      		"anoFabEMod": "2015/2015",
      		"versao": "Attractive 1.0",
      		"cambio": "Manual",
      		"km": 92664,
      		"preco": 45.9
      	},
      	{
      		"marca": "Honda",
      		"modelo": "Civic",
      		"anoFabEMod": "2019/2020",
      		"versao": "EXL 2.0",
      		"cambio": "Manual",
      		"km": 25350,
      		"preco": 99.9
      	},
      	{
      		"marca": "Honda",
      		"modelo": "Civic",
      		"anoFabEMod": "2019/2020",
      		"versao": "EXL 2.0",
      		"cambio": "Manual",
      		"km": 25350,
      		"preco": 99.9
      	},
      	{
      		"marca": "Nissan",
      		"modelo": "Kicks",
      		"anoFabEMod": "2022/2022",
      		"versao": "Advance 1.6",
      		"cambio": "Automático",
      		"km": 21200,
      		"preco": 120.9
      	},
      	{
      		"marca": "Toyota",
      		"modelo": "Corola",
      		"anoFabEMod": "2022/2022",
      		"versao": "XEI 2.0",
      		"cambio": "Automático",
      		"km": 21200,
      		"preco": 120.9
      	}
      ],
      "pageable": {
      	"sort": {
      		"empty": false,
      		"unsorted": false,
      		"sorted": true
      	},
      	"offset": 0,
      	"pageNumber": 0,
      	"pageSize": 20,
      	"unpaged": false,
      	"paged": true
      },
      "last": true,
      "totalPages": 1,
      "totalElements": 5,
      "size": 20,
      "number": 0,
      "sort": {
      	"empty": false,
      	"unsorted": false,
      	"sorted": true
      },
      "first": true,
      "numberOfElements": 5,
      "empty": false
    }
    EXCLUIR CONTA- /contas/{id}

    Descrição

    Deletar a conta.

    Códigos de Resposta

    • 204: No Content.

    Exemplo de Requisição

    • DELETE - /contas/{id}
    • HTTP/1.1
    • Host: localhost:8080
    EFETUAR SAQUE - /contas/saque

    Descrição

    Efetua um saque do saldo da conta.

    Códigos de Resposta

    • 200: OK!.

    Exemplo de Requisição

    • PUT /contas

    • Host: localhost:8080

      {
        "id": 1,
        "valor": "920.00"

    } ```

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
      Saque efetuado com sucesso - 2023-06-02T15:57:15.411927900
    EFETUAR DEPÓSITO - /contas/deposito

    Descrição

    Efetua um deposito para o saldo da conta.

    Códigos de Resposta

    • 200: OK!.

    Exemplo de Requisição

    • PUT /contas

    • Host: localhost:8080

      {
        "id": 1,
        "valor": "780.00"

    } ```

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
      Depósito efetuado com sucesso - 2023-06-02T15:57:15.411927900
    EFETUAR TRANSFERÊNCIA - /contas/transferencia

    Descrição

    Efetua uma transferência de uma quantia de saldo de uma conta para outra.

    Códigos de Resposta

    • 200: OK!.

    Exemplo de Requisição

    • PUT /contas

    • Host: localhost:8080

      {
          "idContaRemetente": "1",
          "valor": "200.00",
          "idContaDestino": "7"
      } ```
      

    Exemplo de Resposta

    • HTTP/1.1 200 OK
    • Content-Type: application/json
      Transferência realizada com sucesso! - 2023-06-02T15:12:54.502614100

    ❗Observações

    Este projeto é apenas uma demonstração básica de um banco ("netbank") utilizando Spring e Banco de Dados. Para fins de aprendizado e desenvolvimento.

    🖐️Autor

    Kauã Caldeira Vilas Boas

    📞Contato