All Articles

REST APIの文書化ツールとしてSwaggerを使い始めました

 仕事でAPI Gateway + Lambda + DynamoDBを使ってサーバーレスな開発を行っているのですが、ここ最近REST APIが多くなってきて管理が煩雑化してきたこともあり、チームでSwaggerを導入することになりました。このSwaggerを導入して良かったことについて紹介しようと思います。Swaggerとはどういったものかや、使い方については色々な方が紹介記事を書いているのでそちらを見て下さい!

REST APIの仕様書としてとても重宝しています!

 swaggerを導入して良かったなと思ったのはやっぱりこれですね!swaggerを導入する前は、適当な文書作成ツールを使って、「APIサーバーはここで」や「curlで書くとこうなりますよ」とか、「クエリストリングやリクエストボディはこうなります」といったこを書くのですが、これがもう超面倒くさい!!
これをswaggerで置き換えると、勿論のことながら文章量はあまり変わらず、我々はyaml形式で書いていることもありswaggerの記法を覚えないといけない初期コストを考えれば、swaggerの方が作業量は多いです。
ですが、この記法に慣れてswaggerを書けるようになった後が凄いのです。例えば、このSwagger Editorというサイトがあるのですが、こちらのサイトでyamlファイルを書くと画像のように綺麗なREST APIの管理ページが作成されます!

Swagger Editor sagger editor

このページを使えば、swaggerの書き方がリアルタイムで分かりますし、REST APIをチームや外部の人へ共有する際にはyamlファイルを提供すれば良いです!また、管理ページ内では実際にREST APIを試すことも可能です。私達のチームでは、APIを試す時はcurlを使ったり、Postmanを使ったりしてましたが、swaggerを導入することでこれらのツールを使う必要がなくなりました。
更にこのSwagger Editorページの優秀なところは、“Generate Server”というタブを選択すると、画像のように様々な言語のWebフレームワークで書かれたソースコードをzipで入手できるということです。後は適当なサーバーを用意してデプロイしてあげれば、専用のswaggerページの完成ということですね!

Generate Server generate server

我々のチームでもEC2上にソースコードをデプロイして専用のページとしてswaggerを運用しています。このswagger導入のおかげで、開発におけるコミュニケーションの効率が凄く良くなったと思っております。是非皆さんもお試しあれ。