问题描述
我具有以下特征:
traits:
FeedSortable:
queryParameters:
sortBy:
description: Sort the topic Feed
required: false
default: 'created_at'
type: string
enum: [ 'most_recent','upVotes' ]
since:
description: Get topics since utc creation date. required in case of upVotes
required: false
type: datetime-only
until:
description: Get topics until utc creation date
required: false
type: datetime-only
Since
和until
查询参数仅在sortBy
被定义为upVotes
时才是必需的。
如何在RAML定义中最好地执行此操作?
更一般而言,我想知道如何根据其他查询参数来定义查询参数定义。难道难道不是这样吗?
解决方法
看起来似乎没有什么好办法,尽管这似乎是相对常见的情况。昂首阔步似乎过于严格,RAML似乎也缺少选项。
我通过使该字段完全不需要,并为默认值添加了更多描述来规避了这个问题:
since:
description: Get topics since utc creation date
required: false
default: sortBy = recent -> null,sortBy = upvotes -> now() - 1 month
type: datetime-only