RAML:嵌套模式

KFu*_*unk 5 raml

1)在编写RAML时,我可以在模式定义中使用嵌套吗?

例如:

schemas:
  - DNSResponse: |
      {
        "type": "object",
        "properties": {
            "AnswerSection": {
                "type": "array",
                "items": (((I want a re-useable schema here. ex: ARecord)))
            },
            "AA": {"type": "boolean"},
            "AD": {"type": "boolean"},
            ...
        }
      }
  - ARecord: |
      {
        "type": "object",
        "properties": {
            "address": "string",
            "ttl": "number",
            "name": "string"
        }
      }
Run Code Online (Sandbox Code Playgroud)

2)我可以在一组可嵌套模式周围使用选项/枚举吗?

"items": [ARecord, MXRecord, PTRRecord, ...]
Run Code Online (Sandbox Code Playgroud)

Dav*_*sot 6

1)是的,你可以.看这个例子.那将是:

"items": { "$ref": "ARecord" }
Run Code Online (Sandbox Code Playgroud)

2)我相信这可以在JSON Schema的草案4中使用oneOf指令.我不认为这是RAML支持的.或者,您可以创建基础架构并让ARecord,MXRecord和PTRRecord扩展此基础架构,然后允许基础架构的项目.这在语义上不会很丰富,但可以帮助你入门.