OpenAPI

OpenAPI 3ドキュメントも使えるSchemaConformist 0.3.0をリリースした

rubygems.org これまでのバージョンの差分はOpenAPI 3ドキュメントが使えるようになった点です。OpenAPI 3に対応したCommittee v3の機能を使うことで、integration test/request spec実行中にOpenAPI 3ドキュメント中のスキーマに基づいたJSONレスポンスのバ…

テスト時にAPIドキュメントのスキーマ定義からレスポンスのJSONを自動でバリデーションするgemを作った

あらかじめ書いたJSON Hyper Schema/OpenAPI 2.0のAPIドキュメントにおけるレスポンスのスキーマ定義をもとに、APIモードのRailsでHTTPリクエストを発行するテストを実行すると、自動でレスポンスのJSONをバリデーションしてくれるSchemaConformistというgem…

社内勉強会でスキーマファースト開発についてしゃべった

2017-10-24(火)にペパボEC事業部において「EC事業部 TechMTG #4」という社内勉強会がありました。この機会に、昨今のWeb API開発事情について知ってもらおうと思い、最近はチームでスキーマファースト開発をやってみているという話をしました。 スライドに…

RSpecのrequest specでCommitteeを使ってレスポンスJSONを自動的にバリデーションする

この記事の続きのようなものです。 blog.kymmt.com やりたいこと Rails + RSpecでWeb APIのrequest specを書くときに、Committee(とCommittee::Rails)の assert_schema_conform を使って、レスポンスのJSONがOpenAPIドキュメントで定義したレスポンスのJSO…

Web APIのレスポンスJSONをCommittee + OpenAPIでバリデーションして仕様と実装の乖離を防ぐ

APIドキュメントに書いたJSON Schemaと実際に実装したWeb APIのレスポンスJSONが一致するかバリデーションするためのCommitteeというgemがあります。また、このCommitteeをRailsプロジェクト中のテストから使うためのCommittee::Railsというgemがあります。 …

OpenAPI v3.0.0のCallback Objectについて調べた

2017年7月末リリースのOpenAPI v3.0.0に入ったCallback Objectという仕様がパッと見だとどう使うかわかりにくかったので、調べてみました。 Callback Objectの仕様は次のリンク先のとおりです。 OpenAPI-Specification/3.0.0.md at master · OAI/OpenAPI-Spe…