raml 0.8枚举值和示例中的多项选择

时间:2019-03-15 16:53:56

标签: raml

我正在使用RAML 0.8,并且正在定义查询字符串参数。

查询字符串的值应为逗号分隔的预定义值列表

所以我用枚举定义了要使用的可接受值的列表

sort:
  description: Comma separated list of stock item properties to sort on.
  enum: ['status', 'orderType', 'stockType', 'model', orderNumber']
  example: 'orderType,status'

但是在示例中,我收到此警告

值应为“状态”,“ orderType”,“ stockType”,“模型”,“ orderNumber”之一

我希望在可能的情况下摆脱此警告。使用RAML 0.8甚至有可能,或者我应该忽略它,因为它只是警告而不是错误

1 个答案:

答案 0 :(得分:0)

警告有效。枚举类型将只期望可能的值之一。如果需要发送这些值的数组,例如:?sort = status,orderType,则需要使用模式。下面的示例使用正则表达式来允许使用逗号分隔的值列表。模式中可以使用特定的枚举值。

#%RAML 0.8

title: enum-list

version: v1
protocols: [ HTTP ]
mediaType: application/json

traits:
  sortable:
    queryParameters:
      sort?:
        type: string
        pattern: ^(\s?[<<fieldset>>,]+\s?,)*(\s?[<<fieldset>>,]+)$
        example: 'status,orderType'
/api:
  displayName: api
  get:
   is: [ sortable: { fieldset: status|orderType|stockType|model|orderNumber } ]