Swagger
概要
Swaggerとは、ソフトウェアが外部とやり取りするためのAPIの開発を支援するツール。米スマートベアソフトウェア(SmartBear Software)社が開発し、オープンソースとして公開している。API(Application Programming Interface)とは、あるコンピュータプログラムの機能や管理下のデータを、外部の別のプログラムから利用できるようにするための呼び出し規約のことで、要求や応答のデータ形式、呼び出し手順などで構成される。
Swaggerは、Web標準のHTTPに基づいてネットワークを介して外部システムと通信するRESTful APIを対象に、API開発を支援する様々な機能を提供する。API仕様書から実装コードを自動生成したり、APIを実装したソースコードからドキュメント(仕様書)やAPIを利用するクライアント側のコードを自動生成することができる。
開発者が自らAPIのコードを実装する場合には、ソースコード中に特定の記法に従って仕様の説明を埋め込むことで、ドキュメントやクライアント側コードの自動生成などの機能を利用できる。逆に、API仕様書のファイルを記述し、これに基づいてAPI実装コードを自動生成させることもできる(Swagger Codegen)。
API仕様の記法はYAMLまたはJSONに基づいており、これを特定の語彙と構造で記述することにより仕様書とすることができる。この記法は以前は「Swagger Specicication」と呼ばれSwaggerの一部だったが、「OpenAPI Specification」(OAS)として独立して規格化され、Swagger以外のツールでも利用できるようになっている。
(2023.9.29更新)