猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

Swagger(OpenAPI)サードパーティーツールのDreddが最近すごい勢いでリリースしている

f:id:yoshiki_utakata:20181004212834j:plain

はじめに

Dreddがすごい勢いでリリースされている。DreddはSwaggerで書かれたAPI仕様を元に実際にAPIを叩き、仕様と実装があっているかどうかをチェックするツールである。

github.com

最近のリリース

https://github.com/apiaryio/dredd/releases を見てみると、

  • v5.1.11 が 2018年7月
  • v5.2.0 が 2018年9月

にリリースされている。それ以降しばらくリリースがなかったのだが、2018年12月にv5.3.0がリリース。そして、現在(2019年1月11日)にはv5.4.6がリリースされている。一体何がリリースされたのか。

Open API 3 は?

Dreddで一番気になるのはOpenAPI 3への対応だ。現状2系までしか対応していない。OpenAPI 3対応のissueがDreddのリポジトリには建っている。

https://github.com/apiaryio/dredd/issues/894

だが、2018年12月にコメントが追記され、重要なissueとしてDreddのリポジトリにこのissueがpinされている。

f:id:yoshiki_utakata:20190111163116p:plain

これを見ると https://github.com/apiaryio/fury-adapter-swagger/issues/131 こっちの fury-adapter-swagger のリポジトリのissueを見ろということになっている。 fury-adapter-swagger はOpenAPIの内容をパースしてくれるやつのようで、こっちが対応しないことにはDreddもOpenAPI3対応できないようである。ただ、

f:id:yoshiki_utakata:20190111163833p:plain

https://github.com/apiaryio/api-elements.js をチューニングしているよとこちらでは言われていてさらに対応は先になりような予感がする。一応対応はしようとしているようではある。

ちなみにDreddの最近のリリースのほとんどは依存ライブラリのアップデートである。

おわりに

9月か10月くらいだったかな、私はDreddを捨てて、Swagger2.0からOpenAPI3.0に移動した。Dreddを捨てた判断は正しかったが便利なツールではると思うので頑張ってほしい。

また、OpenAPI自体についてもまだまだ改良の余地があるので今後の動向を追っていきたい。