Documentação da API

Esta é uma API simples para cadastro de usuários e produtos, com autenticação via JWT.

Endpoints Disponíveis

1. Cadastrar Usuário

Método: POST

URL: /users

Body (JSON):

{
  "name": "João",
  "email": "joao@email.com",
  "password": "123456"
}

Resposta (Sucesso):

{
  "id": 1,
  "name": "João",
  "email": "joao@email.com"
}

Resposta (Erro):

{ "error": "Nome, email e senha são obrigatórios" }

2. Login

Atualizado: Agora o endpoint retorna também o email e nome do usuário.

Método: POST

URL: /login

Body (JSON):

{
  "email": "joao@email.com",
  "password": "123456"
}

Resposta (Sucesso):

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "email": "joao@email.com",
  "name": "João"
}

Resposta (Erro):

{ "error": "Usuário e/ou Senha não conferem" }

3. Listar Usuários

Método: GET

URL: /users

Resposta (Sucesso):

[
  { "id": 1, "name": "João", "email": "joao@email.com" },
  ...
]

4. Cadastrar Produto

Método: POST

URL: /products

Header: Authorization: Bearer <token>

Body (JSON):

{
  "name": "Caneta",
  "price": 2.50
}

Resposta (Sucesso):

{
  "id": 1,
  "name": "Caneta",
  "price": 2.50
}

Resposta (Erro):

{ "error": "Token não fornecido" }

5. Listar Produtos

Método: GET

URL: /products

Header: Authorization: Bearer <token>

Resposta (Sucesso):

[
  { "id": 1, "name": "Caneta", "price": 2.50 },
  ...
]

Resposta (Erro):

{ "error": "Token inválido" }

6. Remover Produto

Método: DELETE

URL: /products/:id

Header: Authorization: Bearer <token>

Parâmetro URL: id (ID do produto)

Resposta (Sucesso):

{
  "message": "Produto removido com sucesso"
}

Resposta (Erro - Produto não encontrado):

{ "error": "Produto não encontrado" }

Resposta (Erro - Geral):

{ "error": "Erro ao remover produto" }

7. Remover Usuário

Método: DELETE

URL: /users/:id

Header: Authorization: Bearer <token>

Parâmetro URL: id (ID do usuário)

Resposta (Sucesso):

{
  "message": "Usuário removido com sucesso"
}

Resposta (Erro - Usuário não encontrado):

{ "error": "Usuário não encontrado" }

Resposta (Erro - Geral):

{ "error": "Erro ao remover usuário" }

Como Testar

Use ferramentas como Postman ou acesse a interface de testes em /interface.

Monitoramento

Você pode verificar se o servidor está online através do endpoint /health:

GET /health

Se o servidor estiver funcionando corretamente, a resposta será:

{ "status": "ok", "uptime": 123.45 }