はじめに
Dreddがすごい勢いでリリースされている。DreddはSwaggerで書かれたAPI仕様を元に実際にAPIを叩き、仕様と実装があっているかどうかをチェックするツールである。
最近のリリース
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されている。
これを見ると https://github.com/apiaryio/fury-adapter-swagger/issues/131 こっちの fury-adapter-swagger のリポジトリのissueを見ろということになっている。 fury-adapter-swagger はOpenAPIの内容をパースしてくれるやつのようで、こっちが対応しないことにはDreddもOpenAPI3対応できないようである。ただ、
https://github.com/apiaryio/api-elements.js をチューニングしているよとこちらでは言われていてさらに対応は先になりような予感がする。一応対応はしようとしているようではある。
ちなみにDreddの最近のリリースのほとんどは依存ライブラリのアップデートである。
おわりに
9月か10月くらいだったかな、私はDreddを捨てて、Swagger2.0からOpenAPI3.0に移動した。Dreddを捨てた判断は正しかったが便利なツールではると思うので頑張ってほしい。
また、OpenAPI自体についてもまだまだ改良の余地があるので今後の動向を追っていきたい。