-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenapi.yaml
More file actions
181 lines (179 loc) · 4.41 KB
/
openapi.yaml
File metadata and controls
181 lines (179 loc) · 4.41 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
openapi: 3.0.1
info:
title: Spec
version: 1.0.0
servers:
- url: https://localhost/api
- url: http://localhost/api
tags:
- name: movies
description: Всё о фильмах
paths:
/movies:
get:
tags:
- movies
summary: Список фильмов
operationId: listMovies
parameters:
- name: limit
in: query
description: количество объектов, которое надо вывести
schema:
type: integer
default: 50
- name: page
in: query
description: номер страницы
schema:
type: integer
default: 1
- name: sort
in: query
description: свойство, по которому нужно отсортировать результат
schema:
type: string
default: id
enum:
- id
- title
- imdb_rating
- name: sort_order
in: query
description: порядок сортировки
schema:
type: string
default: asc
enum:
- asc
- desc
- name: search
in: query
description: "неточный поиск по названию, описанию, актёрам, сценаристам и режиссёрам фильма\nПредставьте, что вы вбили в поиск Яндекса \"Звёздные войны\" или \"Джордж Лукас\" или \"Лукас войны\" вам выводятся соответствующие фильмы."
schema:
type: string
responses:
200:
description: ""
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ShortMovie'
400:
description: "неправильный формат тела запроса"
422:
description: "неправильное тело запроса"
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
/movies/{movieID}:
get:
tags:
- movies
summary: Получить фильм
description: Получить фильм
operationId: getMovieByID
parameters:
- name: movieID
in: path
required: true
schema:
type: string
responses:
200:
description: ""
content:
application/json:
schema:
$ref: '#/components/schemas/Movie'
404:
description: Фильм не найден
content: {}
components:
schemas:
ShortMovie:
required:
- id
- title
type: object
properties:
id:
type: string
title:
type: string
imdb_rating:
type: number
format: float
Writer:
required:
- id
- name
type: object
properties:
id:
type: string
name:
type: string
Actor:
required:
- id
- name
type: object
properties:
id:
type: integer
name:
type: string
Movie:
required:
- id
- title
type: object
properties:
id:
type: string
title:
type: string
description:
type: string
imdb_rating:
type: number
format: float
writers:
type: array
items:
$ref: '#/components/schemas/Writer'
actors:
type: array
items:
$ref: '#/components/schemas/Actor'
genre:
type: array
items:
type: string
director:
type: array
items:
type: string
ValidationError:
type: object
properties:
detail:
type: array
items:
type: object
properties:
loc:
type: array
example: ["query", "limit"]
items:
type: string
msg:
example: "value is not a valid integer"
type: string
type:
type: string
example: "type_error.integer"