RAML 1.0 类型问题

RAML 1.0 types issue

我对 RAML 1.0 类型有疑问。 Validator 在 position: 0 和 is_archive: false 上给我错误,整数和布尔值除外。当我使用特征时会发生该错误。

types:
  CatalogObject:
    type: object
    properties:
      id: number
      title: string
      position: integer
      is_archive: boolean

/catalog:
  get:
    responses:
      200:
        body:
          type: CatalogObject
          examples: [{
            id: 1,
            title: Simple1,
            position: 5,
            is_archive: true
          }, {
            id: 2,
            title: Simple2,
            position: 0,
            is_archive: false
          }]

例如:

traits:
  catalogItem:
    responses:
      404:
        description: 404 Not Found

当我删除该代码后,一切正常。

我使用的验证器发现了响应定义的一些问题。一旦错误被解决,特征编译没有错误。

  1. body 需要 mime 类型
  2. 如果您期望数组响应,如示例所示,响应 type 应该是一个数组。

    type: CatalogObject[]

  3. examples 关键字,如果选择使用它而不是 example,支持多个示例,因此正文应该是一个字典,每个示例都有一个键:

/catalog:
  get:
    responses:
      200:
        body:
          application/json:
            type: CatalogObject[]
            examples:
              first_example:
                [{
                  id: 1,
                  title: Simple1,
                  position: 5,
                  is_archive: true
                }, {
                  id: 2,
                  title: Simple2,
                  position: 0,
                  is_archive: false
                }]