我正在尝试在我的RAML中建模一个具有任意URL参数列表的GET请求。 2个参数是已知的,但其余的是从其他请求类型的响应数据中选择的名称/值对。我尝试使用additionalParameters:在我的queryParameters列表中为true,但是当我尝试解析RAML时,我从osprey-mock-service收到错误消息:
each query parameter must be a map
我的RAML的相关片段是:
/statistics:
/{statisticId}:
get:
description: Get the stastic data
queryParameters:
start:
displayName: Start Time
type: integer
description: The timstamp in milliseconds indicating the beginning of the collection of timeseries data
example: 1380601800000
required: false
end:
displayName: End Time
type: integer
description: The timstamp in milliseconds indicating the end of the collection of timeseries data
example: 1380601800000
required: false
additionalParameters: true
responses:
200:
body:
application/json:
schema: statistic
example: !include ../dto/statistic.sample
删除该行后,错误消息消失了:
additionalParameters: true
我没有找到一个引用,表明你可以将additionalParameters与queryParameters一起使用,但似乎有意义。
我不一定需要解决错误消息,但我希望有以下URL参数:
?start=23010030&end=23011470&content=abc.com&node=siteA
其中内容和节点不是预定义的参数名称。
这可能吗?
答案 0 :(得分:1)
additionalParameters
:在0.8
of the specification版本中找不到它。
这就是说,这个(非常重要的)主题是under discussion in the RAML forums
目前,我只看到两个选项:
required: false
指定所有可能的参数,需要注意的是您需要事先了解所有这些参数。