##Swaggerとは
Swagger は RESTful APIを構築するためのオープンソースのフレームワークのこと。
「Open API Initiative」という団体がRESTful APIのインターフェイスの記述をするための標準フォーマットを推進していて、それがSwagger。
日本ではまだそこまで普及していないが、海外ではデファクトスタンダードみたい。
##Swaggerを使うと何がいいの?
SwaggerUIとSwaggerEditorが素晴らしいため。
SwaggerUIはSwaggerの書式(Swagger Spec)で書いておく自動的にドキュメント化してくれ、コードからドキュメント生成が可能。
また、そのドキュメントから実際のリクエストが投げられます。仕様書からテストまで出来るという優れもの!らしい…。
http://blog.takuros.net/entry/2015/12/02/082248
##Swaggerのツール類と手法
主に下記のツールが提供されている。
SwaggerSpec:RESTAPIに対して Swagger の仕様に準じたドキュメント
SwaggerEditer:Swagger Spec の設計書を記載するためのエディタ
SwaggerUI:Swagger Spec で記載された設計からドキュメントをHTML形式で自動生成するツール
SwaggerCodegen:Swagger Spec で記載された設計からAPIのスタブを自動生成
また、上記ツールを使うアプローチとしては、大きく下記の2パターンがあるらしい。
■トップダウン形式
1.SwaggerEditorでSwagger Specificationを編集、定義
2.SwaggerCodegenでSwagger Specificationからソースコードを生成
■ボトムアップ形式
1.既に存在するREST APIのソースコードからSwagger Coreのアノテーションなどを使用しSwagger Specification定義
2.生成されたSwagger SpecificationをもとにSwagger UIによって、RESTAPIをドキュメント化
https://qiita.com/disc99/items/37228f5d687ad2969aa2
##SwaggerEditerを使ってみる。
①SwaggerEditorを使ってみたいので、サンプルのJsonファイルをYAMLに変換
https://www.json2yaml.com/
②YAMLファイルをExcelで整形(ダミー値とかを除去)
Excelツール
③SwaggerEditor上で確認をする
http://editor.swagger.io/
##他APIドキュメンテーションツールとの比較など
https://www.slideshare.net/dcubeio/api-67703513