REST API構築に役立つツールまとめ
こんばんは、本日はREST API開発に便利なツール・フレームワークをご紹介します。開発時に役立つと幸いです。
それでは始めます。
Swagger
REST APIを構築するためのオープンソースなフレームワーク
OpenAPI Specification(OAS:REST APIを定義するフォーマット)に基づいて構築される
Swagger Editor
Swaggerを書くためのエディタ
Swagger UI
サーバーにインストールして、ドキュメントを静的コンテンツとして展開する
Swagger Codepen
Prism同様、サーバー再度のモックを生成できる
VSCodeの拡張機能も利用可能
OpenAPI (Swagger) Editor
OpenAPIの拡張。様々な機能を含む(SwaggerUI, ReDoc, preview, IntelliSense, Linting…)
Swagger Viewer
「Shift + Alt + P」でSwagger UIを開ける
Stoplight Studio
OASをGUIで組み立てることができるプラットフォーム。OASの記法がわからなくても、簡単に作成できる
以下画像のように4つのタブが存在する
Form:OASの定義をGUI上で行う部分
Code:FormがJSONまたはYAMLのコードとして表示される
Preview:画像赤枠のようにFormで定義したもののプレビューが確認できる(Swagger UIに近い)
Mocks:後述のPrismと連携してMockの情報やログを確認できる
Spectral
Stoplight Studio上で警告、エラーのルール設定ができる
ルール設定はGUIで簡単に設定できる
Stoplight Studioで新規からStyleGuideを選択すると、spectral.jsonが生成される。以下画像のようにルールセットが用意されており、必要なルールを選択するとJSONが生成される。
ルールの詳細設定はこちらを参照
Prism
mockサーバーを立てて、OpenAPIのレスポンス(example)を検証することができる。
導入(Prism-CLI)
Nodeのv12以上が必要
npm i -g @stoplight/prism-cli でPrism-CLIをインストール
利用
prism mock sample.json --port 3000 でモックサーバーを起動
(sample.jsonはテスト対象のSwaggerファイル名に置き換える)
3000番ポートあてにリスクエストを送信する
ステータスコードを固定したい場合、リクエストヘッダーにPrefer: code=200のようにすることで可能
Redoc
OpenAPIから仕様を静的ファイル(HTML)として生成できる。
導入
npm i -g redoc-cli
利用
redoc-cli bundle sample.jsonでsample.jsonを基に性的ファイルを生成
画像の例では--options.theme.colors.primary.main=orangeを付与した
Dredd
OASのテストツール。以下の制約がある
デフォルトは1リクエスト1レスポンスのみしか定義できない
OpenAPIからレスポンスを変更するには、フックファイルが必要
パスパラメータを定義するとエラーになる
導入: npm i -g dredd
Postman
Dreddと似た機能を提供している
利用法:GUI上でリクエストを組み立て、レスポンスを確認