次のような resourceType を宣言するときに、RAML がさまざまなスキーマを動的に参照できる方法が気に入っています。
resourceTypes:
- collection:
get:
responses:
200:
body:
application/json:
schema: <<schema>>
post:
body:
application/json:
schema: <<schema>>Create
responses:
200:
body:
application/json:
schema: <<schema>>
ここで私はこれを次のように使用できます
/users:
type: { collection: { schema: user } }
また、RAML はuser
GET と POST からのスキーマ応答を提供し、userCreate
POST 要求の送信にもスキーマを使用します。涼しい!これで、大量の異なるスキーマでコレクション定義を再利用できます。
<<schema>>
しかし、すべてのサンプルjsonも必要になったので、別の方法でvarを利用して「コードの再利用」を活用したいと考えていました。できることを願っていた
resourceTypes:
- collection:
get:
responses:
200:
body:
application/json:
schema: <<schema>>
example: examples/v1-<<schema>>.json
post:
body:
application/json:
schema: <<schema>>Create
example: examples/v1-<<schema>>-create.json
responses:
200:
body:
application/json:
schema: <<schema>>
example: examples/v1-<<schema>>.json
残念ながら、これは機能しません。というエラーが表示されます
error: File with path "/examples/v1-%3C%3Cschema%3E%3E.json" does not exist
したがって、これをすべてのコレクションに手動で追加することに頼り、/users
上記の例は次のようになりました
/users:
type: { collection: { schema: user } }
get:
responses:
200:
body:
application/json:
example: !include examples/v1-user.json
post:
body:
application/json:
example: !include examples/v1-user-create.json
responses:
200:
body:
application/json:
example: !include examples/v1-user.json
私にとって、これは例を追加するだけでもかなりのオーバーヘッドです。特に、多くのリソースでパターンを繰り返したい場合。
質問:これを達成する方法はありますか?