【スワガー】

Swagger とは?

💡 APIの設計図を自動で描いてくれる優秀な製図師
📌 このページのポイント
Swagger ツールセットの構成 Swagger Editor API定義を編集 リアルタイムプレビュー OpenAPI定義 YAML / JSON エンドポイント・型・例 Swagger UI ドキュメント表示+テスト Codegen コード自動生成 利用フロー 1. Editorで定義作成 → 2. UIでブラウザ上テスト → 3. Codegenでクライアント/サーバー生成 ※ OpenAPI Specification(旧Swagger Spec)がすべての中心
Swaggerツールセットのイメージ
ひよこ ひよこ

Swaggerって名前をよく聞くんだけど、何をするツールなの?

ペンギン先生 ペンギン先生

REST APIの「取扱説明書」を自動で作ってくれるツールだよ。コードにアノテーションを書いておくと、ブラウザで見られるきれいなドキュメントが出来上がるんだ

ひよこ ひよこ

ドキュメントだけじゃなくて、テストもできるって本当?

ペンギン先生 ペンギン先生

そうそう。Swagger UIという画面上で、実際にAPIにリクエストを送って結果を確認できるんだよ。「Try it out」ボタンを押すだけでテストできるから、Postmanを開かなくても手軽に動作確認できるね

ひよこ ひよこ

SwaggerとOpenAPIって同じものなの?

ペンギン先生 ペンギン先生

もともとSwaggerプロジェクトで作られた仕様が、2015年にLinux Foundationに寄贈されて「OpenAPI Specification」という名前になったんだ。だからSwaggerはOpenAPIのツール群、OpenAPIは仕様そのもの、という関係だよ

ひよこ ひよこ

Swagger UIってどうやって導入するの?

ペンギン先生 ペンギン先生

多くのフレームワークにはプラグインがあるよ。たとえばSpring Bootならspringdocを入れるだけで /swagger-ui にアクセスすると自動でドキュメントが表示されるし、Express.jsならswagger-ui-expressを使えばすぐだね

ひよこ ひよこ

Swagger Codegenっていうのもあるって聞いたけど、何ができるの?

ペンギン先生 ペンギン先生

OpenAPIの定義ファイルから、クライアントSDKサーバーのスタブコードを自動生成できるツールだよ。40以上の言語に対応していて、APIの仕様が決まった段階でフロントエンドバックエンドが同時に開発を進められるんだ。最近はOpenAPI Generatorというフォーク版のほうが活発に開発されているね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Swagger」って出てきたら「API仕様書を自動で作って試せるツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Swagger」 = 自信満々に歩く、気取る
💬 「堂々と歩く」という意味の英単語が由来。APIを自信を持って公開できるようにする、という意気込みが込められているよ
← 用語集にもどる