Documentação Api Rest Crud Simples de Usuarios

Gerenciamento de Usuários – API com Express, Prisma e Autenticação JWT Este projeto é uma API de gerenciamento de usuários construída com Node.js, Express, Prisma e autenticação JWT, que permite criar, atualizar, deletar e autenticar usuários. É ideal para projetos que necessitam de uma base sólida para autenticação e gerenciamento de usuários, garantindo segurança e escalabilidade.

Documentação

User

CreateUser

CRIAR UM NOVO USUÁRIO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: POST

ROTA: /createusers

CONTENT-TYPE: application/json


REQUEST BODY

json
{
"name": "João Silva",
"email": "[email protected]",

"password": "senhaSegura123",
"age": 30,
"address": "Rua das Flores, 123, São Paulo, SP"
}

SCHEMA

  • TIPO: object

PROPRIEDADES:

  • name: string
  • email: string
  • password: string
  • age: integer
  • address: string

RESPONSES

  • STATUS 201

    • Descrição: Usuário criado com sucesso
  • STATUS 400

    • Descrição: Erro na criação do usuário

LOGIN DE USUÁRIO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: POST

ROTA: /login

CONTENT-TYPE: application/json


REQUEST BODY

json
{
"email": "[email protected]",
"password": "senhaSegura123"
}

SCHEMA

  • TIPO: object

PROPRIEDADES:

  • email: string
  • password: string

RESPONSES

  • STATUS 200{

    "token"
    :  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjUsImVtYWlsIjoiam9hZHNzZnJvLnNpbHZhQGV4ZW1wbG8uY29tIiwiaWF0I
    joxNzMxMzM1OTYxLCJleHAiOjE3MzEzNjQ3NjF9.o6MfgoyC5Ff2rehzyeSvu7-kyWLzw6DOJew32rWlPm"
    ,

    "id": "1"

    }
  • STATUS 401
    • Descrição: Credenciais inválidas

ATUALIZAR USUÁRIO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: PUT

ROTA: /updateuser/:id

AUTHORIZATION:
Bearer <token>

CONTENT-TYPE: application/json


REQUEST BODY

json
{
"name": "João Silva",
"email": "[email protected]",
"password": "novaSenha123",
"age": 31,
"address": "Rua das Laranjeiras, 456, Rio de Janeiro, RJ"
}

SCHEMA

  • TIPO: object

PROPRIEDADES:

  • name: string
  • email: string
  • password: string
  • age: integer
  • address: string

RESPONSES

  • STATUS 200

    • Descrição: Usuário atualizado com sucesso
  • STATUS 400

    • Descrição: Erro na atualização do usuário (ex: dados inválidos)
  • STATUS 404

    • Descrição: Usuário não encontrado

DELETAR USUÁRIO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: DELETE

ROTA: /deleteuser/:id

AUTHORIZATION:
Bearer <token>

CONTENT-TYPE: application/json


REQUEST PARAMETERS

  • id: integer (Obrigatório) – O ID do usuário que será deletado

RESPONSES

  • STATUS 200

    • Descrição: Usuário deletado com sucesso
  • STATUS 400

    • Descrição: Erro na exclusão do usuário (ex: parâmetros inválidos)
  • STATUS 404

    • Descrição: Usuário não encontrado

Products

CreateProducts

CRIAR UM NOVO PRODUTO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: POST

ROTA: /createproduct

CONTENT-TYPE: application/json


REQUEST BODY

json
{
"name": "Produto Exemplo",
"description": "Descrição detalhada do produto",
"price": 199.99
}

SCHEMA

  • TIPO: object
  • PROPRIEDADES:
    • name: string
    • description: string
    • price: float

RESPONSES

  • STATUS 201
    • Descrição: Produto criado com sucesso
  • STATUS 400
    • Descrição: Erro na criação do produto

OBTER PRODUTOS

ENDPOINT: https://api.felipebelmont.com

MÉTODO: GET

ROTA: /getallproducts

AUTHORIZATION:
Bearer <token>

CONTENT-TYPE: application/json


SCHEMA DE RESPOSTA

  • TIPO: array
  • ITEMS:
    • id: integer
    • name: string
    • description: string
    • price: float
    • userId: integer (ID do usuário proprietário do produto)
    • createdAt: string (Data de criação do produto, em formato ISO)

RESPONSES

  • STATUS 200

    • Descrição: Produtos obtidos com sucesso

    • Exemplo de Resposta:

      json
      [
      {
      "id": 1,
      "name": "Produto Exemplo 1",
      "description": "Descrição do produto exemplo 1",
      "price": 199.99,
      "userId": 1,
      "createdAt": "2024-11-11T12:00:00.000Z"
      },
      {
      "id": 2,
      "name": "Produto Exemplo 2",
      "description": "Descrição do produto exemplo 2",
      "price": 299.99,
      "userId": 2,
      "createdAt": "2024-11-11T14:30:00.000Z"
      }
      ]
  • STATUS 404

    • Descrição: Nenhum produto encontrado para este usuário

OBTER PRODUTOS POR ID DO PRODUTO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: GET

ROTA: getproductsbyid/:id

AUTHORIZATION:
Bearer <token>

CONTENT-TYPE: application/json


SCHEMA DE RESPOSTA

  • TIPO: object
  • PROPRIEDADES:
    • id: integer – ID do produto
    • name: string – Nome do produto
    • description: string – Descrição do produto
    • price: float – Preço do produto
    • createdAt: string – Data de criação do produto (formato ISO)
    • userId: integer – ID do usuário proprietário do produto

RESPONSES

  • STATUS 200

    • Descrição: Produtos obtidos com sucesso

    • Exemplo de Resposta:

      json
      {
      "id": 2,
      "name": "Produto de Teste2",
      "description": "Descrição do produto de teste",
      "price": 199.99,
      "createdAt": "2024-11-11T15:02:44.018Z",
      "userId": 5
      }
  • STATUS 404

    • Descrição: Nenhum produto encontrado para este usuário
  •  

OBTER PRODUTOS DO USUÁRIO AUTENTICADO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: GET

ROTA: user/products

AUTHORIZATION:
Bearer <token>

CONTENT-TYPE: application/json


SCHEMA DE RESPOSTA

  • TIPO: array
  • ITEMS:
    • id: integer – ID do produto
    • name: string – Nome do produto
    • description: string – Descrição do produto
    • price: float – Preço do produto
    • createdAt: string – Data de criação do produto (formato ISO)
    • userId: integer – ID do usuário proprietário do produto

RESPONSES

  • STATUS 200

    • Descrição: Produtos obtidos com sucesso

    • Exemplo de Resposta:

      json
      [
      {
      "id": 2,
      "name": "Produto de Teste2",
      "description": "Descrição do produto de teste",
      "price": 199.99,
      "createdAt": "2024-11-11T15:02:44.018Z",
      "userId": 5
      },
      {
      "id": 3,
      "name": "Produto Exemplo 3",
      "description": "Descrição do produto exemplo 3",
      "price": 149.99,
      "createdAt": "2024-11-12T08:00:00.000Z",
      "userId": 5
      }
      ]
  • STATUS 404

    • Descrição: Nenhum produto encontrado para o usuário autenticado

ATUALIZAR PRODUTO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: PUT

ROTA: updateproduct/:id

AUTHORIZATION:
Bearer <token>

CONTENT-TYPE: application/json


REQUEST BODY

json
{ "name": "Nome Atualizado do Produto", "description": "Descrição atualizada do produto", "price": 249.99 }

SCHEMA DE REQUEST

  • TIPO: object
  • PROPRIEDADES:
    • name: string – Nome do produto
    • description: string – Descrição do produto
    • price: float – Preço do produto

SCHEMA DE RESPOSTA

  • TIPO: object
  • PROPRIEDADES:
    • message: string – Mensagem de sucesso
    • product: object
      • id: integer – ID do produto
      • name: string – Nome do produto atualizado
      • description: string – Descrição do produto atualizada
      • price: float – Preço do produto atualizado
      • createdAt: string – Data de criação do produto (formato ISO)
      • userId: integer – ID do usuário proprietário do produto

RESPONSES

  • STATUS 200

    • Descrição: Produto atualizado com sucesso

    • Exemplo de Resposta:

      json
      { "message": "Produto atualizado com sucesso", "product": { "id": 1, "name": "Produto de Teste5", "description": "Descrição do produto de teste", "price": 199.99, "createdAt": "2024-11-11T15:02:24.875Z", "userId": 5 } }
  • STATUS 403

    • Descrição: Acesso negado – O usuário autenticado não é o proprietário do produto.
  • STATUS 404

    • Descrição: Produto não encontrado.

DELETAR PRODUTO

ENDPOINT: https://api.felipebelmont.com

MÉTODO: DELETE

ROTA: /api/products/deleteproducts/:id

AUTHORIZATION:
Bearer <token>

CONTENT-TYPE: application/json


SCHEMA DE REQUEST

  • TIPO: params
  • PROPRIEDADES:
    • id: integer – ID do produto a ser deletado

RESPONSES

  • STATUS 200

    • Descrição: Produto deletado com sucesso

    • Exemplo de Resposta:

      json
      { "message": "Produto deletado com sucesso" }
  • STATUS 403

    • Descrição: Acesso negado – O usuário autenticado não é o proprietário do produto.
  • STATUS 404

    • Descrição: Produto não encontrado.

Contato do desenvolvedor: [email protected] / +55(21)98373-5922

Copyright © IMPULSIONE MKT.