Swagger とは
Open API Initiative が推進する RESTful API インターフェース記述のための標準フォーマット。
利用のための色々な便利ツールがある。
ツール | 説明 |
---|---|
Swagger Spec | Swagger 書式で記述した API 仕様書。JSON or YAML で記述。 |
Swagger Editor | Swagger ファイルの生成・編集を行うためのツールで、ブラウザ上で動作する。リアルタイムで構文チェックしてくれる。 |
Swagger UI | Swagger Spec を読み込み、HTML 形式でドキュメントを生成する。 |
Swagger Codegen | Swagger Spec から、様々な言語の API クライアントを自動生成する。 |
Swagger Editor
Web UI
https://editor.swagger.io/ にアクセスすれば使える。
インストールしてローカルで動かす
$ brew install npm
$ git clone https://github.com/swagger-api/swagger-editor.git
$ cd swagger-editor
$ npm start # 自動でブラウザ上で Editor が開く
Swagger Codegen
使い方
Mac にインストールする場合
$ brew install swagger-codegen
$ swagger-codegen generate -i /path/to/swagger.json -l ruby -o /tmp/ruby_api_client
jar をダウンロードして使う場合
$ wget http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.3.1/swagger-codegen-cli-2.3.1.jar -O swagger-codegen-cli.jar
$ java -jar swagger-codegen-cli.jar generate \
-i /path/to/swagger.json \
-l php \
-o /tmp/php_api_client
リポジトリを clone して使う場合
$ git clone https://github.com/swagger-api/swagger-codegen
$ cd swagger-codegen
$ mvn clean package
$ java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate \
-i /path/to/swagger.json \
-l java \
-o /tmp/java_api_client
設定
config.json に色々設定を記述できる
{
"modelPackage" : "jp.hkawabata.model",
"apiPackage" : "jp.hkawabata.api"
}
使い方
$ java -jar swagger-codegen-cli.jar generate -i /path/to/swagger.json -l java -o /tmp/java_api_client -c /path/to/config.json