道歉,对于冗长的问题标题,我不太确定如何简洁地将其写成单词!
我正在编写一个API,并且希望尽可能正确地执行操作。我有一个包含以下数据的对象的集合:
{
_id: ObjectID(...),
itemID: 1000,
C-values: [
{
createdAt: 2018-01-01,
updatedAt: 2018-04-29,
c1: 10.412,
c2: 91283
},
...
]
}
我要运行的查询是:给定一个itemID和一个日期,找到具有匹配的itemID的对象,然后从C值数组中返回在给定日期为“最新”的对象。
我的问题不是关于实现查询逻辑,而是我应该如何命名端点URL? (我认为,但可能会误解,这很重要,因为itemID从技术上讲不是该数据库的主键)
到目前为止,我的想法是:
API/items/c-value
? itemID=1000
& date=2018-02-01
API/items/by-item-id/:itemID/c-values
? date=2018-02-01
API/items/c-value/:itemID/:date
我对API设计还是很陌生,欢迎您提供有关正确答案是什么的任何信息,或者如果有多个正确答案,则选择哪个以及为什么。
干杯
P