我有一个针对我的服务的查询API,看起来像这样(JSON-ish格式):
{
filter: {
attribute1: [val11]
,attribute2: [val21, val22]
}
}
有效地表示,在SQL-ish语法中选择数据WHERE attribute1 IN ("val11") AND attribute2 in ("val21", "val22")
。
我需要扩展此API以便能够表达NOT IN
谓词,而我不知道这样做的好方法是什么。
我唯一可以想到的是在请求API中添加第二个“filter_not_in”键,它可以像“filter”键一样工作但产生NOT IN
语义;但它看起来很笨拙,很难掌握。
就其表现力/能力而言,API语法可以被视为JSON
理想的答案将引用一些公认的API设计规则,以表明它“很好”。