ExpressのOpen API(旧Swagger)フレームワークを使って、Todoアプリをつくる
Node.jsはとりあずv6.0以上
- node.js >= v6.0
$ npm install
$ npm run build
$ npm run test
RESTful APIのインターフェイスを記述するフォーマット。
express-oepnapiでは、paths
部分を空にしてしまうので、オリジナルはapi_original.ymlを参照。
APIのベースパスは、api.yml#L2部分で定義する。
ここで指定したbasePath
がhttp://example.com/{basePath}/
のようになる。
api
だったり1.0
のようなAPIバージョンを書くことが多い。
エンドポイントは、src/api
以下でファイル名やディレクトリ名がそのままパスになる。
.src
├── index.ts // expressを起動させるためのコード
├── Server.ts // コア部分
├── api.ts // レスポンス処理の共通処理
├── api // APIパス(この配下がエンドポイントになっていく)
│ ├── tasks // basePath/tasks/...
│ │ └── {id}.ts // basePath/tasks/{id}
│ └── tasks.ts // basePath/tasks
├── models
│ ├── Task.ts // Taskテーブルの定義
│ └── TaskController.ts // Taskテーブルを操作する
└── store
└── index.ts // データベースの設定
src/api
で定義されているapiDoc
により、pathやbodyパラメータのバリデーションが行われる。