你如何在rAML中引用示例请求体?

时间:2014-06-19 01:00:15

标签: raml

是否可以从同一个rAML文件中引用json块以获取请求/响应示例?除了拥有外部文件之外,从规范中看似没有办法做到这一点;但是如果可能的话,我想让示例和架构彼此相邻。就像你如何使用架构一样:

schemas:
  - awesomeSchema: |
      { ... }
# Is this possible?
examples: | 
  - awesomeExample: |
      { ... }

/awesome:
  get:
    responses:
      200:
       body:
          application/json:
            schema: awesomeSchema
            example: awesomeExample

2 个答案:

答案 0 :(得分:1)

虽然它不是规范的一部分,但它实际上是受支持的,因为RAML是YAML的超集,它具有syntax for DRY-ing repeated blocks。引用规范:

  

重复节点(对象)首先由锚点标记(用&符号标记 - “&”),然后别名(用星号 - “*”引用)。

将其应用于您的示例:

/awesome:
  get:
    responses:
      200:
       body:
          application/json:
            example: &awesomeExample |
              {
                id: 123,
                type: "foobar"
              }
/delicious:
  get:
    responses:
      200:
        body:
          application/json:
            example: *awesomeExample

答案 1 :(得分:1)