-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathopenapi.yaml
More file actions
137 lines (135 loc) · 3.67 KB
/
openapi.yaml
File metadata and controls
137 lines (135 loc) · 3.67 KB
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
openapi: 3.0.3
info:
title: API сервиса для тестового задания
version: 0.1.0
tags:
- name: cats
description: Всё что касается котиков
- name: users
description: Всё что касается пользователей
paths:
/likes:
get:
security:
- bearerAuth: [ ]
tags:
- cats
summary: Список лайков
operationId: listLikes
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Like'
post:
security:
- bearerAuth: []
tags:
- cats
summary: Добавление лайка
operationId: newLike
requestBody:
description: Новый лайк
content:
application/json:
schema:
$ref: '#/components/schemas/Like'
required: true
responses:
'201':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Like'
'405':
description: Invalid input
/likes/{cat_id}:
delete:
security:
- bearerAuth: [ ]
tags:
- cats
summary: Удаление лайка
operationId: dropLike
parameters:
- name: cat_id
description: id котика из https://thecatapi.com
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful operation
'404':
description: Like not found
/user:
post:
tags:
- users
summary: Добавление пользователя
operationId: newUser
requestBody:
description: Новый пользователь
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
'201':
description: Successful operation
headers:
X-Auth-Token:
description: Токен для последующей авторизации, например sha256(user_id + secret_salt)
example: 3525dcdddea774939652f7f11df6d7db10a9db35a5d758c64d600a00c1cc41be
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'405':
description: Invalid input
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Ожидается токен, выдаваемый при регистрации пользователя
bearerFormat: SHA256
schemas:
Like:
type: object
required:
- cat_id
properties:
cat_id:
description: Идентификатор котика из https://thecatapi.com
type: string
example: asu7as
created_at:
type: string
format: date-time
example: 2024-03-20T09:12:28Z
description: Время создания лайка
User:
type: object
required:
- login
- password
properties:
login:
type: string
description: Логин пользователя
password:
type: string
description: Пароль пользователя