我确实有一个具有多个特征和recourceTypes的RAML。我经常使用那里的参数。但是,对于一个案例,我无法让它发挥作用。
让我们假设以下特征,名为“testTrait”:
#%RAML 1.0 Trait
queryParameters:
s:
type: array
items:
type: string
enum: <<parameterEnum>>
enum:parameterEnum&gt;&gt; 是此处的重要部分。
除了许多其他工作特性(这里我没有提到以保持示例简单)之外,还使用了以下resourceType(它不应该对问题产生影响,因为我只是传递参数通过)。
#%RAML 1.0 Library
...
resourceTypes:
item-readonly:
get:
description: |
<<descriptionGet>>
is: [
testTrait: {
parameterEnum: <<parameterEnum>>
}]
通过这种方式,在API定义中使用了特征“testTrait”:
#%RAML 1.0
...
/services/:
/testServiceA/:
type:
ResourceTypes.item-readonly:
descriptionGet: A service to test Enum parameters in RAML.
parameterEnum: ???
我应该为'???'填写什么吗
我测试过:
parameterEnum: [key,name]
导致错误:“属性'parameterEnum'必须是字符串” 改为:
parameterEnum: "[key,name]"
导致错误:“'enum'facet值必须由数组”
定义我在这一点上陷入困境。对于其他特征参数(用于描述特征,类型等),我没有任何问题。 任何建议指出我正确的解决方案是值得赞赏的。
我使用Atom和API Workbench进行API定义。
提前感谢您的帮助!