如何为枚举值传递RAML-trait-parameters?

时间:2017-03-02 15:46:02

标签: rest api parameters traits raml

我确实有一个具有多个特征和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定义。

提前感谢您的帮助!

0 个答案:

没有答案