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

How to define an array of a type in an external file in Raml?

如果我有一个定义数据类型 SimpleDuple 的文件,并且在另一个文件中定义了另一个名为 DiscreetFilter 的数据类型,我希望 属性 values 成为一个SimpleDuple 数组我将如何使用 include 那里?

考虑 SimpleDuple 的文件:

#%RAML 1.0 DataType
type: object
properties:
  id: string
  name: string

还有另一个定义,我想让 属性 成为 values 属性 中的 SimpleDuples 数组(但我必须使用内联定义)。

#%RAML 1.0 DataType
type: object
properties:
  field: string
  name: string
  type: { enum: [ discreet ] }

  # Ideally this property would use an include
  # in some way to express the equivalent of SimpleDuple[]
  values: 
    type: array
    properties:
      id: string
      name: string

如果这两种类型位于同一个文件中,我会将 values 属性 设置为 SimpleDuple[]。如果它不是数组,我会将包含作为 values 属性 的值。

但是我如何同时使用包含和数组而不是使用我在复制代码中使用的内联定义?

您应该能够执行以下操作:

chapter.raml

#%RAML 1.0 DataType

type: object
properties:
  name: string

storyboard.raml

#%RAML 1.0 DataType

type: object
properties:
  name: string
  chapters:
    type: array
    items: !include chapter.raml

希望对您有所帮助?!