API de Usuários
A API de Usuários é responsável por gerenciar todas as operações relacionadas aos usuários do sistema, como criação, consulta, atualização e exclusão.
Nota – Autenticação A maioria dos endpoints descritos abaixo requer autenticação via JWT.
Para acessá-los, é necessário enviar um token de autorização no cabeçalho da requisição:Authorization: Bearer <seu_token_jwt>
1. Listar todos os usuários
Este método retorna uma lista com todos os usuários cadastrados na base de dados.
Endpoint:
GET /users
Parâmetros de Rota: Nenhum.
Exemplo de Resposta (200 OK):
[
{
"id": 1,
"login": "admin",
"name": "Administrador do Sistema",
"active": true,
"perfil": "Admin"
},
{
"id": 2,
"login": "joao.silva",
"name": "João da Silva",
"active": true,
"perfil": "User"
}
]
Códigos de Status:
- 200 OK: Requisição bem-sucedida.
- 401 Unauthorized: Falha na autenticação (token inválido ou não fornecido).
2. Consultar usuário por ID
Busca e retorna um usuário específico com base no seu id.
Endpoint:
GET /users/:id
Parâmetros de Rota:
| Parâmetro | Tipo | Descrição |
|---|---|---|
id |
number |
ID do usuário a ser consultado. |
Exemplo de Resposta (200 OK):
{
"id": 1,
"login": "admin",
"name": "Administrador do Sistema",
"active": true,
"perfil": "Admin"
}
Códigos de Status:
- 200 OK: Usuário encontrado com sucesso.
- 401 Unauthorized: Falha na autenticação.
- 404 Not Found: Usuário com o
idespecificado não foi encontrado.
3. Consultar usuário por Login
Busca e retorna um usuário específico com base no seu login.
Endpoint:
GET /users-by-login/:login
Parâmetros de Rota:
| Parâmetro | Tipo | Descrição |
|---|---|---|
login |
string |
Login do usuário a ser consultado. |
Exemplo de Resposta (200 OK):
{
"id": 1,
"login": "admin",
"name": "Administrador do Sistema",
"active": true,
"perfil": "Admin"
}
Códigos de Status:
- 200 OK: Usuário encontrado com sucesso.
- 401 Unauthorized: Falha na autenticação.
- 404 Not Found: Usuário com o
loginespecificado não foi encontrado.
4. Criar um novo usuário
Este método cria um novo usuário no sistema. Este endpoint não requer autenticação.
Endpoint:
POST /users
Corpo da Requisição (application/json):
O corpo da requisição deve conter um objeto User completo, com exceção do id.
Exemplo de Requisição:
{
"login": "ana.pereira",
"password": "uma_senha_forte_123",
"name": "Ana Pereira",
"active": true,
"perfil": "User"
}
Exemplo de Resposta (201 Created):
{
"id": 3,
"login": "ana.pereira",
"name": "Ana Pereira",
"active": true,
"perfil": "User"
}
Códigos de Status:
- 201 Created: Usuário criado com sucesso.
- 400 Bad Request: Dados inválidos ou faltando no corpo da requisição.
- 409 Conflict: O
loginfornecido já existe na base de dados.
5. Atualizar um usuário
Atualiza as informações de um usuário existente, identificado pelo seu id.
Endpoint:
PUT /users/:id
Parâmetros de Rota:
| Parâmetro | Tipo | Descrição |
|---|---|---|
id |
number |
ID do usuário a ser atualizado. |
Corpo da Requisição (application/json):
O corpo da requisição deve conter um objeto com os campos do User a serem atualizados.
Exemplo de Requisição:
{
"name": "Ana Pereira Souza",
"active": false,
"perfil": "Supervisor"
}
Exemplo de Resposta (200 OK):
{
"id": 3,
"login": "ana.pereira",
"name": "Ana Pereira Souza",
"active": false,
"perfil": "Supervisor"
}
Códigos de Status:
- 200 OK: Usuário atualizado com sucesso.
- 400 Bad Request: Dados inválidos no corpo da requisição.
- 401 Unauthorized: Falha na autenticação.
- 404 Not Found: Usuário com o
idespecificado não foi encontrado.
6. Deletar um usuário
Remove permanentemente um usuário do sistema com base no seu id.
Endpoint:
DELETE /users/:id
Parâmetros de Rota:
| Parâmetro | Tipo | Descrição |
|---|---|---|
id |
number |
ID do usuário a ser deletado. |
Exemplo de Resposta (200 OK):
{
"message": "Usuário deletado com sucesso",
"id": 3
}
Códigos de Status:
- 200 OK: Usuário deletado com sucesso.
- 401 Unauthorized: Falha na autenticação.
- 404 Not Found: Usuário com o
idespecificado não foi encontrado.