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