我对我的服务的查询API,它看起来像这样(JSON-ISH格式):什么是“IS NOT SET”子句的良好API格式?
{
filter: {
,attribute2: [val21, val22]
,attribute3: []
}
}
有效手段,选择数据WHERE attribute2 in ("val21", "val22") AND attribute3 IS NOT NULL
在SQL上下的语法(意思是,被返回的对象有属性3但我真的不在乎它的价值是什么SQL当然不是很擅长表达这一点,因为我的数据是关键值存储,其中的关键字可能“没有设置”,而不是空值)。
我需要扩展这个API才能够表达IS NOT SET
谓词,并且我不知道这样做的好方法是什么。
我唯一可能想到的是在请求API中添加一个特殊的“NOT_SET”值,这将产生NOT SET
语义;但它似乎真的klunky和难以把握:
的API语法可以就其表现力/能力看作是JSON
一个理想的答案将参考有关API设计的一些广为接受的规则,向人们展示这很好”。
{
filter: {
,attribute2: [val21, val22]
,attribute4: [__NOT_SET__]
}
}
对于这个问题和之前的问题,你是否被锁定到你当前的“JSONish”结构中,还是可以改变的?我并不是要求改变“JSONish”,而是改变“JSONish”的形状。 –