Cameleon v0.1.1リリース
HTTPのスタブを作るためのフレームワークCameleonのv0.1.1をリリースしました。
Github : Cameleonv0.1.1ではポストされたJSONをバリデーションする機能を追加しました。Cameleonはgemでインストールできます。
$ gem install cameleon
使い方の詳細は前の記事を参照してください。
JSONバリデーション
v0.1.1のJSONバリデーション機能では、POSTまたはGETのHTTPリクエストボディのJSONについて、データ構造の検証を行うことができます。バリデーションのエンジンにはjson-schema gemを利用し、JSON Schema Draft 3のスキーマ定義を利用します。このバリデーション処理をするには、まず設定ファイル(cameleon.yml)に以下の内容を記載します。
validation: type: json
その上で、レスポンスフォルダにrequest.schema.jsonというスキーマファイルをおいておくと、リクエストボディにそのスキーマに適合するJSONデータが含まれない場合にはステータス500のエラーが帰るようになります。
例えば次のようなJSONを期待するインターフェイスの場合
{"a": 1}
次のようなスキーマを定義します。
{ "type" : "object", "properties" : { "a" : { "type" : "integer", "required" : true } } }