【问题标题】:REST good practices: new resource or parameter?REST 良好实践:新资源或参数?
【发布时间】:2014-01-15 16:39:19
【问题描述】:

我正在设计一个 RESTful API,我有一个非常简单的“哲学”问题:

我有一个资源,表示存储在一段时间内的一组值:

loggers/2/data?begin=10h&end=12h

执行此请求后,我获取了数据记录器(id=2)从 10:00 到 12:00 存储的数据。

回复:

[
{
    "data": "10h",
    "value": 10
},
{
    "data": "11h",
    "value": 15
},
{
    "data": "12h",
    "value": 9
}
]

现在,我只想要这段时间内的最大值:

[
{
    "data": "11h",
    "value": 15
}
]

那么...这是一个新资源吗?喜欢:

loggers/2/data/max?begin=10h&end=12h

还是过滤了相同的资源?

loggers/2/data?begin=10h&end=12h&filter=max

你怎么看?谢谢!

【问题讨论】:

    标签: java web-services http rest url


    【解决方案1】:

    我建议一种新资源,因为它有点对应于给定实体的新方法

    在我的 WebApp 中,我使用以下格式:

    1. 调用方法给定实体实例/entity/method/id 例如/user/retrieve/5/user/settings/5
    2. 调用静态方法 /entity/method 例如/user/create/user/oldest
    3. 没有一种方法会默认使用经典的“列出所有”,例如/user(我可能已经决定使用/user/all

    【讨论】:

      猜你喜欢
      • 2021-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多