Skip to content

LaraIasmine/gama-ecommerce-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GAMA ACADEMY E-COMMERCE - REST API

API construída como mockup para a integração de um sistema de gerenciamento de e-commerce.

Dependências

Esta aplicação tem como dependência:

  • ExpressJS
  • Nodemon

Clonando o repositório

No cmd, navegue até o diretório em que deseja clonar o repositório.

Dentro do diretório, utilize o comando:

$ git clone https://github.com/danielalfb/gama-ecommerce-api.git

Instalando as dependências

npm install

Executando a aplicação

INSERIR

REST API

A REST API construída esta especificada abaixo.

Host e porta

localhost:3000

Métodos

Método 1: GET

Retorna a lista de todos os produtos existentes.

URL

/produtos

Requisição

/produtos

Resposta de sucesso

  • Status:

    Status da requisicao

  • Conteúdo:

    [
      {
        "produto": 1
      },
      {
        "produto": 2
      },
      {
        "produto": 3
      },
      {
        "produto": 4
      }
    ]

Resposta de erro

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": "Não existem produtos cadastrados."
    }

Método 2: GET

Retorna os detalhes de 1 único produto.

URL

/produtos/{id}

Parâmetro de requisição na URL

id=[INTEGER]

Parâmetro de requisição no BODY

Nenhum

Requisição

/produtos/1

Resposta de sucesso

  • Status:

    Status da requisicao

  • Conteúdo:

    [
      {
        "id": 1,
        "nome": "Nome do produto",
        "preco": 5.0,
        "qtd_estoque": 10,
        "disponivel": 1,
        "em_destaque": 0,
        "id_dept": 1,
        "nome_dept": "Nome do departamento"
      }
    ]

Resposta de erro

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": "O produto não existe."
    }

Requisição

/produtos/id=2

Resposta

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": "Requisição incorreta."
    }

Método 3: POST

Recebe um JSON com dados de um produto e o inclui na base de dados.

URL

/produto

Parâmetro de requisição na URL

Nenhum

Parâmetro de requisição no BODY

{
  "nome": "Nome do produto",
  "preco": 5.0,
  "qtd_estoque": 10,
  "disponivel": 1,
  "em_destaque": 0,
  "id_dept": 1,
  "nome_dept": "Nome do departamento"
}

Resposta de sucesso

  • Status:

    Status da requisicao

  • Conteúdo:

    [
      {
        "id": 1,
        "nome": "Nome do produto",
        "preco": 5.0,
        "qtd_estoque": 10,
        "disponivel": 1,
        "em_destaque": 0,
        "id_dept": 1,
        "nome_dept": "Nome do departamento"
      }
    ]

Resposta de erro

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": ""
    }

Método 4: PUT

Recebe um JSON com dados de um produto, cujo ID é especificado na URL e atualiza seus dados na base de dados.

URL

/produto/{id}

Parâmetro de requisição na URL

id=[INTEGER]

Parâmetro de requisição no BODY

{
  "nome": "",
  "preco": ,
  "qtd_estoque": ,
  "disponivel": ,
  "em_destaque": ,
  "id_dept": ,
  "nome_dept": ""
}

Resposta de sucesso

  • Status:

    Status da requisicao

  • Conteúdo:

    [
      {
        "nome": "",
        "preco": ,
        "qtd_estoque": ,
        "disponivel": ,
        "em_destaque": ,
        "id_dept": ,
        "nome_dept": ""
      }
    ]

Resposta de erro

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": "Produto não existe."
    }

    OU

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": ""
    }

Método 5: GET

Retorna a lista de todos os departamentos existentes.

URL

/departamentos

Requisição

/departamentos

Resposta de sucesso

  • Status:

    Status da requisicao

  • Conteúdo:

    [
      {
        "id_dept": 1,
        "nome": "Nome do departamento"
      },
      {
        "id_dept": 2,
        "nome": "Nome do departamento"
      },
      {
        "id_dept": 3,
        "nome": "Nome do departamento"
      },
      {
        "id_dept": 4,
        "nome": "Nome do departamento"
      }
    ]

Resposta de erro

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": "Não existem departamentos cadastrados."
    }

Método 6: GET

Retorna o departamento e a lista de produtos que estão associadas a ele.

URL

/departamentos/{id}

Parâmetro de requisição na URL

id=[INTEGER]

Parâmetro de requisição no BODY

Nenhum

Requisição

/departamentos/1

Resposta de sucesso

  • Status:

    Status da requisicao

  • Conteúdo:

    [
      {
        "id": 1,
        "nome": "Nome do produto",
        "preco": 5.0,
        "qtd_estoque": 10,
        "disponivel": 1,
        "em_destaque": 0,
        "id_dept": 1,
        "nome_dept": "Nome do departamento"
      },
      {
        "id": 2,
        "nome": "Nome do produto 2",
        "preco": 6.0,
        "qtd_estoque": 11,
        "disponivel": 1,
        "em_destaque": 1,
        "id_dept": 1,
        "nome_dept": "Nome do departamento"
      }
    ]

Resposta de erro

  • Status:

    Status da requisicao

  • Conteúdo:

    {
      "error": "O departamento não existe."
    }

About

API para ecommerce do XP#37 da Gama Academy.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%