在REST API设计中,是否存在获取对象历史记录的模式?

4
我需要设计一个REST API资源,需要能够获取对象的历史版本,包括之前的版本。有没有合适的模式来实现这个功能?是否一个好主意,将 restapi.baseurl/resourcename/{ID}改成 restapi.baseurl/resourcename/{ID}/version/{ID} ?还是有更好的设计选项来实现这个功能?

没有版本控制的默认设置,你的方式很好。 - Aschab
2个回答

2

RFC5829定义了一些与版本控制相关的链接关系。

其中包括:

  • latest-version(最新版本)
  • version-history(版本历史)
  • predecessor-version(前任版本)
  • successor-version(后继版本)

您可以通过在响应中使用 Link 头,或者选择一个具有超媒体支持的 API 响应格式(例如 HAL、JSON:API、Siren 等),来使用这些链接关系。


0

restapi.baseurl/resourcename/{ID}/history?from_version=x&to_version=y 是我喜欢使用的东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接