Open62
Actix-Web で REST API
これからやること
Actix Web フレームワークを使って簡単な REST API を徐々に作成していきます。
仕様
仕様は今後変化する。ひとまず書籍を管理するアプリケーションを想定して、最小限次のエントリーポイントを作る
method | url | 説明 |
---|---|---|
GET | /api/books | 書籍の一覧 |
GET | /api/books/{id} | 指定したIDの書籍 |
POST | /api/books | 書籍を新規に作成 |
PUT | /api/books/{id} | 指定したIDの書籍を更新 |
DELETE | /api/books/{id} | 指定したIDの書籍を削除 |
よく見かける Web フレームワーク (Laravel とか、Rails とか) であれば、一瞬でできそうな単純なものだが、Rust だと道程は長いぞ。
おおよその段取りを決める
- Actix Web の雛形を公式サイトなどからコピって動かす
- ルーティングの設定をして、リクエストを投げたら OK を返す状態にする
- Swagger UI を設定して、API の仕様が GUI で見えるようにする
- データベースの準備をして、books テーブルを作る
- books テーブルに対応した Rust の構造体を作る
- Rust のコードから books テーブルにアクセスできるようにする
- ルーティングに対応する実装を順に作成する
- E2Eテストを書く
この順で進む保証はないけど。
テストを修正・追加する
...
Swagger UI に認証設定を追加する
...