raml - RAML 中示例 json 的动态填充

标签 raml

我很喜欢 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 请求的模式。凉爽的!现在我可以用大量不同的模式重用我的集合定义。

但是现在我也想为所有内容提供示例 json,我希望利用 <<schema>> 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

对我来说,这只是添加示例的大量开销。特别是当我想在许多资源上重复该模式时。

问题:有没有办法做到这一点?

最佳答案

不,根据规范,这在 RAML 0.8 中是不允许的。不过,在 future 的版本中可能会允许这样做。

关于raml - RAML 中示例 json 的动态填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27406949/

相关文章:

maven-2 - Raml 验证器在 javax.xml.validation.SchemaFactory.newSchema 中引发错误

json - 无效的 JSON 架构错误

api - 如何包含对 raml 资源的常见响应

raml - Mule 中的 API KIT 控制台未显示任何输出

java - POJO 类到 RAML 文档的转换

maven - ReSTLet RAML 扩展错误

arrays - 如何在 Raml 的外部文件中定义一个类型的数组?

html - 节点模块 raml2html 返回空大括号