1+ {
2+ "openapi" : " 3.1.0" ,
3+ "info" : {
4+ "contact" : {
5+ 6+ "name" : " BMS administrator"
7+ },
8+ "description" : " Here is description of BMS API." ,
9+ "license" : {
10+ "name" : " MIT License" ,
11+ "url" : " https://opensource.org/licenses/MIT"
12+ },
13+ "title" : " BMS API Endpoints" ,
14+ "version" : " 0.1.0"
15+ },
16+ "tags" : [ {
17+ "name" : " BMS basic API" ,
18+ "description" : " BMS Common APIs for authenticated users"
19+ }, {
20+ "name" : " BMS guest API" ,
21+ "description" : " API endpoints for guest users"
22+ } ],
23+ "servers" : [ {
24+ "url" : " http://localhost:8888" ,
25+ "description" : " Local server"
26+ }, {
27+ "url" : " http://192.168.0.119:8888" ,
28+ "description" : " A remote server"
29+ } ],
30+ "components" : {
31+ "securitySchemes" : {
32+ "basicAuth" : {
33+ "type" : " http" ,
34+ "scheme" : " basic"
35+ },
36+ "jwt token" : {
37+ "type" : " apiKey" ,
38+ "in" : " header" ,
39+ "scheme" : " bearer" ,
40+ "bearerFormat" : " jwt"
41+ }
42+ },
43+ "schemas" : {
44+ "Player" : {
45+ "type" : " object" ,
46+ "properties" : {
47+ "id" : {
48+ "type" : " integer" ,
49+ "format" : " int32"
50+ },
51+ "name" : {
52+ "type" : " string"
53+ },
54+ "team" : {
55+ "$ref" : " #/components/schemas/Team"
56+ },
57+ "backNumber" : {
58+ "type" : " string"
59+ }
60+ }
61+ },
62+ "Team" : {
63+ "type" : " object" ,
64+ "properties" : {
65+ "id" : {
66+ "type" : " integer" ,
67+ "format" : " int32"
68+ },
69+ "name" : {
70+ "type" : " string"
71+ },
72+ "url_path" : {
73+ "type" : " string" ,
74+ "maxLength" : 32
75+ },
76+ "at_bats" : {
77+ "type" : " number" ,
78+ "format" : " double" ,
79+ "maximum" : 5 ,
80+ "minimum" : 0
81+ }
82+ }
83+ }
84+ }
85+ },
86+ "paths" : {
87+ "/api/v1/guest/players" : {
88+ "get" : {
89+ "tags" : [ " BMS guest API" ],
90+ "parameters" : [ {
91+ "description" : " Filter with team ids" ,
92+ "explode" : false ,
93+ "in" : " query" ,
94+ "style" : " form" ,
95+ "name" : " team_ids" ,
96+ "schema" : {
97+ "type" : " array" ,
98+ "uniqueItems" : true ,
99+ "items" : {
100+ "type" : " integer" ,
101+ "format" : " int32"
102+ }
103+ }
104+ }, {
105+ "description" : " test header parameter" ,
106+ "name" : " X-Foo" ,
107+ "in" : " header" ,
108+ "schema" : {
109+ "type" : " string" ,
110+ "default" : " default-foo-value"
111+ }
112+ } ],
113+ "responses" : {
114+ "200" : {
115+ "description" : " Returns a list of players" ,
116+ "content" : {
117+ "application/json" : {
118+ "schema" : {
119+ "type" : " array" ,
120+ "items" : {
121+ "$ref" : " #/components/schemas/Player"
122+ }
123+ }
124+ }
125+ }
126+ }
127+ },
128+ "summary" : " Test Players"
129+ }
130+ },
131+ "/api/v1/guest/teams" : {
132+ "get" : {
133+ "tags" : [ " BMS guest API" ],
134+ "responses" : {
135+ "200" : {
136+ "description" : " OK" ,
137+ "content" : {
138+ "application/json" : {
139+ "schema" : {
140+ "type" : " array" ,
141+ "items" : {
142+ "$ref" : " #/components/schemas/Team"
143+ }
144+ }
145+ }
146+ }
147+ }
148+ },
149+ "summary" : " Test Teams"
150+ }
151+ },
152+ "/api/v1/players" : {
153+ "get" : {
154+ "tags" : [ " BMS basic API" ],
155+ "parameters" : [ {
156+ "schema" : {
157+ "type" : " number" ,
158+ "default" : 50
159+ },
160+ "name" : " limit" ,
161+ "in" : " query"
162+ }, {
163+ "schema" : {
164+ "type" : " number"
165+ },
166+ "name" : " offset" ,
167+ "in" : " query"
168+ }, {
169+ "description" : " filter with team ids" ,
170+ "explode" : false ,
171+ "in" : " query" ,
172+ "schema" : {
173+ "type" : " array" ,
174+ "items" : {
175+ "type" : " integer" ,
176+ "format" : " int32"
177+ }
178+ },
179+ "style" : " form" ,
180+ "name" : " team_ids"
181+ } ],
182+ "responses" : {
183+ "200" : {
184+ "description" : " Returns a list of players" ,
185+ "content" : {
186+ "application/json" : {
187+ "schema" : {
188+ "type" : " array" ,
189+ "items" : {
190+ "$ref" : " #/components/schemas/Player"
191+ }
192+ }
193+ }
194+ }
195+ }
196+ },
197+ "summary" : " Players"
198+ }
199+ },
200+ "/api/v1/teams" : {
201+ "get" : {
202+ "summary" : " Return a list of teams" ,
203+ "description" : " Return a list of teams" ,
204+ "tags" : [ " BMS basic API" ],
205+ "responses" : {
206+ "200" : {
207+ "description" : " Returns a list of teams" ,
208+ "content" : {
209+ "application/json" : {
210+ "schema" : {
211+ "type" : " array" ,
212+ "items" : {
213+ "$ref" : " #/components/schemas/Team"
214+ }
215+ }
216+ }
217+ }
218+ }
219+ },
220+ "security" : [ {
221+ "basicAuth" : [ ]
222+ }, {
223+ "jwt token" : [ ]
224+ } ]
225+ }
226+ },
227+ "/api/v1/teams/{id}" : {
228+ "get" : {
229+ "summary" : " Return a team detail" ,
230+ "description" : " Return a team detail" ,
231+ "tags" : [ " BMS basic API" ],
232+ "parameters" : [ {
233+ "name" : " id" ,
234+ "in" : " path" ,
235+ "required" : true ,
236+ "schema" : {
237+ "type" : " integer" ,
238+ "format" : " int32"
239+ }
240+ } ],
241+ "responses" : {
242+ "200" : {
243+ "description" : " Returns the detail of a team" ,
244+ "content" : {
245+ "application/json" : {
246+ "schema" : {
247+ "type" : " object" ,
248+ "properties" : {
249+ "id" : {
250+ "type" : " integer" ,
251+ "format" : " int32"
252+ },
253+ "name" : {
254+ "type" : " string"
255+ },
256+ "url_path" : {
257+ "type" : " string" ,
258+ "maxLength" : 32
259+ },
260+ "at_bats" : {
261+ "type" : " number" ,
262+ "format" : " double" ,
263+ "maximum" : 5 ,
264+ "minimum" : 0
265+ }
266+ }
267+ }
268+ }
269+ }
270+ }
271+ }
272+ }
273+ },
274+ "/api/v1/teams/{id}/players" : {
275+ "get" : {
276+ "summary" : " Return players of the team" ,
277+ "description" : " Return players of the team" ,
278+ "tags" : [ " BMS basic API" ],
279+ "parameters" : [ {
280+ "name" : " id" ,
281+ "in" : " path" ,
282+ "required" : true ,
283+ "schema" : {
284+ "type" : " integer" ,
285+ "format" : " int32"
286+ }
287+ } ],
288+ "responses" : {
289+ "200" : {
290+ "description" : " Return players of the team" ,
291+ "content" : {
292+ "application/json" : {
293+ "schema" : {
294+ "type" : " array" ,
295+ "items" : {
296+ "$ref" : " #/components/schemas/Player"
297+ }
298+ }
299+ }
300+ }
301+ }
302+ }
303+ }
304+ }
305+ }
306+ }
0 commit comments