generated from t-kawatsu/python-app-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.yml
171 lines (155 loc) · 4.39 KB
/
openapi.yml
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
openapi: 3.0.0
info:
title: flask-web-api
description: |
# Flask WEB API #
---
本書は、Flask WEB API
の仕様と使い方を記載しています。
## 基本事項 ##
---
### 通信プロトコル ###
通信プロトコルは *HTTP/1.1* を使用します。
また、スキーマは https を使用し通信をセキュアにしてください。
### 文字コード ###
通信に使用する文字コードは *UTF-8* です。
リクエストにパラメータが必要な場合は
UTF-8 に変換し URL encode してください。
### レスポンスフォーマット ###
レスポンスフォーマットは全て *json* を使用します。
### レスポンスヘッダ ###
- Content-Type: application/json
- Cache-Control: no-store
- ( Pragma: no-cache )
### エラーコード ###
API 接続において何らかのエラーが発生した場合には
エラーの種類に応じた HTTP ステータスコードを返す
ことに加え、レスポンスボディに詳細なエラーコードと
メッセージを返します。
### 接続認証 ###
version: "1.0.0"
servers:
- url: '{scheme}://localhost/{basePath}'
description: Development server
variables:
scheme:
enum:
- https
- http
default: https
basePath:
default: api/v1
security:
paths:
/health:
get:
summary: サーバーヘルスチェック
description: |
API サーバーのヘルスチェックを行います。
問題無い場合200ステータスコードを返却します。
tags:
- health
operationId: getHealth
responses:
'200':
description: 成功時
content:
application/json:
schema:
$ref: '#/components/schemas/Health'
'5XX':
$ref: '#/components/responses/5XX'
/users/{id}:
get:
summary: get user data
responses:
'200':
description: 成功時
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
$ref: '#/components/responses/400'
parameters:
- name: id
in: path
description: user ID
required: true
schema:
type: integer
format: int64
components:
schemas:
Health:
description: APP サーバーヘルスデータ
type: object
required:
- status
properties:
status:
description: ステータス
enum:
- fine
example:
status: fine
Error:
type: object
properties:
code:
description: エラーコード
type: string
message:
description: エラーメッセージ
type: string
responses:
'4XX':
description: 不正なリクエスト
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: invalid_request
message: "リクエストが不正です。"
'401':
description: 不正なトークン
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: invalid_token
message: "リクエストが不正です。"
'404':
description: 無効なURL
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: not_found
message: "not found"
'5XX':
description: サーバー内部エラー
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: internal_server_error
message: "サーバー側で不明なエラーが発生しました。"
securitySchemes:
http:
type: http
scheme: bearer
bearerFormat: JWT
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://example.com/api/oauth/dialog
tokenUrl: https://example.com/api/oauth/dialog
scopes:
write: allows modifying resources
read: allows reading resources