gpt4 book ai didi

api - REST 中的建模操作

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:10:38 25 4
gpt4 key购买 nike

我正在为网络设备的管理系统(我们称之为系统 A)创建一个 REST 接口(interface),并且一切正常。 A 从另一个后端系统(让我们称这个系统为 B)获取设备信息并将其索引到数据库中,然后每当客户端通过 REST 接口(interface)请求信息时,它就会将其作为 JSON 返回。

但是有时客户端需要通过向B请求来强行让A刷新一些设备信息(除了要求A刷新之外客户端不参与)。刷新单个节点的信息需要几秒钟,因此信息可能不应该在请求它的同一请求中返回。目前我们将此建模为您使用 POST /jobs 创建“刷新信息”类型的作业。与一些数据。但这感觉非常过度设计,我们更愿意想要像 POST /equipment/<id>/refresh 这样的东西。但这感觉违背了“REST 方式”?

除了上面提到的工作之外,还有其他解决方案,但仍然遵循“REST 方式”吗?

最佳答案

我会使用 GET /equipment/<id>?since=<timestamp> , 其中since参数是可选的。从语义上讲,这意味着:

  • 获取给定 id 的设备从上次刷新时开始(当未给出 timestamp 时),或
  • 获取给定 id 的设备刷新时间不早于给定的 timestamp

每个equipment在你的系统中会有一个 last_refreshed时间戳。 GETsince=<timestamp>如果last_refreshed < since,参数将刷新设备然后返回 equipment .

您服务的用户然后可以说 GET /equipment/123?since=<15 minutes ago>并确保他们获得的信息始终不超过 15 分钟。 GET /equipment/123?since=<now>意思是“强制刷新”。

关于api - REST 中的建模操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15815546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com