LoginSignup
8
5

More than 3 years have passed since last update.

tsoaを使ってAPIドキュメントを自動生成

Last updated at Posted at 2020-05-05

tsoa

tsoaとは、TypeScriptとNodeを使用してOpenAPI準拠のREST APIを生成するためのモジュール。
2020-05-05時点の最新バージョンはv3.0.8。

  • APIの唯一の信頼できる情報源としてのTypeScriptコントローラーとモデル
  • Express、Hapi、Koa対応
  • エンドポイントの説明などにはjsdocを使用

メリット

  • コメントと実装のずれがなくなる(JSDocで管理するモジュールもあるが、いつかずれる)
  • ドキュメント上からリクエストが投げれる

デメリット

  • デコレーター祭り
  • route.tsをプレコンパイルする必要があり、開発環境が少しだけ複雑に

導入方法

Introduction | tsoaを順に進めれば、以下のようなAPIドキュメントが http://localhost:3000/docs に表示されます。

スクリーンショット 2020-05-05 22.31.47.png

Controller部分をデコレーターを使用した書き方にする必要があり、
既存プロジェクトに導入するにはそこそこな作業が発生しそう。

JavaでOpenAPI準拠のREST APIを生成する場合は以下が参考になります。
https://qiita.com/ririkku/items/6e416d13567c6ee9e633

その他

tsoaのドキュメントのリポジトリ
https://github.com/tsoa-community/docs

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5