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.
ENDPOINT: https://api.felipebelmont.com
MÉTODO: POST
ROTA: /createusers
CONTENT-TYPE: application/json
{
"name": "João Silva",
"email": "[email protected]",
"password": "senhaSegura123",
"age": 30,
"address": "Rua das Flores, 123, São Paulo, SP"
}
object
string
string
string
integer
string
STATUS 201
STATUS 400
ENDPOINT: https://api.felipebelmont.com
MÉTODO: POST
ROTA: /login
CONTENT-TYPE: application/json
object
string
string
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjUsImVtYWlsIjoiam9hZHNzZnJvLnNpbHZhQGV4ZW1wbG8uY29tIiwiaWF0I
joxNzMxMzM1OTYxLCJleHAiOjE3MzEzNjQ3NjF9.o6MfgoyC5Ff2rehzyeSvu7-kyWLzw6DOJew32rWlPm"
,
"id": "1"
}
ENDPOINT: https://api.felipebelmont.com
MÉTODO: PUT
ROTA: /updateuser/:id
AUTHORIZATION:
Bearer <token>
CONTENT-TYPE: application/json
{
"name": "João Silva",
"email": "[email protected]",
"password": "novaSenha123",
"age": 31,
"address": "Rua das Laranjeiras, 456, Rio de Janeiro, RJ"
}
object
string
string
string
integer
string
STATUS 200
STATUS 400
STATUS 404
ENDPOINT: https://api.felipebelmont.com
MÉTODO: DELETE
ROTA: /deleteuser/:id
AUTHORIZATION:
Bearer <token>
CONTENT-TYPE: application/json
integer
(Obrigatório) – O ID do usuário que será deletadoSTATUS 200
STATUS 400
STATUS 404
ENDPOINT: https://api.felipebelmont.com
MÉTODO: POST
ROTA: /createproduct
CONTENT-TYPE: application/json
{
"name": "Produto Exemplo",
"description": "Descrição detalhada do produto",
"price": 199.99
}
object
name
: string
description
: string
price
: float
ENDPOINT: https://api.felipebelmont.com
MÉTODO: GET
ROTA: /
getallproducts
AUTHORIZATION:
Bearer <token>
CONTENT-TYPE: application/json
array
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)STATUS 200
Descrição: Produtos obtidos com sucesso
Exemplo de Resposta:
[
{
"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
ENDPOINT: https://api.felipebelmont.com
MÉTODO: GET
ROTA: getproductsbyid/:id
AUTHORIZATION:Bearer <token>
CONTENT-TYPE: application/json
object
id
: integer
– ID do produtoname
: string
– Nome do produtodescription
: string
– Descrição do produtoprice
: float
– Preço do produtocreatedAt
: string
– Data de criação do produto (formato ISO)userId
: integer
– ID do usuário proprietário do produtoSTATUS 200
Descrição: Produtos obtidos com sucesso
Exemplo de Resposta:
{
"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
ENDPOINT: https://api.felipebelmont.com
MÉTODO: GET
ROTA: user/products
AUTHORIZATION:Bearer <token>
CONTENT-TYPE: application/json
array
id
: integer
– ID do produtoname
: string
– Nome do produtodescription
: string
– Descrição do produtoprice
: float
– Preço do produtocreatedAt
: string
– Data de criação do produto (formato ISO)userId
: integer
– ID do usuário proprietário do produtoSTATUS 200
Descrição: Produtos obtidos com sucesso
Exemplo de Resposta:
[
{
"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
ENDPOINT: https://api.felipebelmont.com
MÉTODO: PUT
ROTA: updateproduct/:id
AUTHORIZATION:Bearer <token>
CONTENT-TYPE: application/json
{
"name": "Nome Atualizado do Produto",
"description": "Descrição atualizada do produto",
"price": 249.99
}
object
name
: string
– Nome do produtodescription
: string
– Descrição do produtoprice
: float
– Preço do produtoobject
message
: string
– Mensagem de sucessoproduct
: object
id
: integer
– ID do produtoname
: string
– Nome do produto atualizadodescription
: string
– Descrição do produto atualizadaprice
: float
– Preço do produto atualizadocreatedAt
: string
– Data de criação do produto (formato ISO)userId
: integer
– ID do usuário proprietário do produtoSTATUS 200
Descrição: Produto atualizado com sucesso
Exemplo de Resposta:
{
"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
STATUS 404
ENDPOINT: https://api.felipebelmont.com
MÉTODO: DELETE
ROTA: /api/products/deleteproducts/:id
AUTHORIZATION:Bearer <token>
CONTENT-TYPE: application/json
params
id
: integer
– ID do produto a ser deletadoSTATUS 200
Descrição: Produto deletado com sucesso
Exemplo de Resposta:
{
"message": "Produto deletado com sucesso"
}
STATUS 403
STATUS 404
Contato do desenvolvedor: [email protected] / +55(21)98373-5922