我正在使用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甚至有可能,或者我应该忽略它,因为它只是警告而不是错误
答案 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 } ]