-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathswagger.json
93 lines (92 loc) · 2.51 KB
/
swagger.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "API de Autenticação",
"description": "API simples para autenticação com JWT"
},
"host": "localhost:5000",
"basePath": "/api",
"schemes": ["http"],
"paths": {
"/login": {
"post": {
"summary": "Autenticação de Usuário",
"description": "Autentica o usuário e retorna um token JWT.",
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"username": {
"type": "string",
"example": "admin"
},
"password": {
"type": "string",
"example": "password"
}
},
"required": ["username", "password"]
}
}
],
"responses": {
"200": {
"description": "Sucesso",
"schema": {
"type": "object",
"properties": {
"token": {
"type": "string",
"example": "eyJhbGciOiJIUzI1NiIsInR5..."
}
}
}
},
"401": {
"description": "Credenciais inválidas"
}
}
}
},
"/protected": {
"get": {
"summary": "Acesso Protegido",
"description": "Retorna dados apenas para usuários autenticados.",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "Token JWT no formato Bearer {token}"
}
],
"responses": {
"200": {
"description": "Sucesso",
"schema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"example": "Bem-vindo, admin! Esta é uma rota protegida."
}
}
}
},
"401": {
"description": "Token não fornecido"
},
"403": {
"description": "Token inválido ou expirado"
}
}
}
}
}
}