WebAPIを実装する
Web API をさまざまな方法で実装してみます。
仕様
-
HTTP のエンドポイントを持つ
POST book
- データを登録できる
- フォーマットは
{"name":"NAME", "lang2": "ja"}
- 成功時のステータスコードは 201、Location Header に URL をセットして返す
- パラメータ不正時は 4xx を返す
GET book/id
- 登録したデータを参照できる
- フォーマットは
{"name":"NAME", "lang2": "ja", "createdAt": "2000-01-01T00:00:00"}
- 存在しないときは 404 を返す
-
データを DB に保存する。DB は SQLite3 を利用する
-
ヘルスチェック用のエンドポイントを持つ
-
ログはプレーンテキストと JSON から選択できる
-
ログは標準出力に出力する
-
アクセスログを出力する
-
SQL ログを出力する
-
API Spec をブラウザで確認できる
- 設定で無効にできる
-
DB にアクセスするテストコードがある
-
HTTP 呼び出しのテストコードがある
-
リンターがある
-
フォーマッターがある
実装例
- Python + FastAPI + SQLAlchemy