根据查询结果访问资源时的API URL命名

时间:2018-10-25 14:21:51

标签: database mongodb express mongoose

道歉,对于冗长的问题标题,我不太确定如何简洁地将其写成单词!

我正在编写一个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

0 个答案:

没有答案