小编Her*_*ine的帖子

访问RESTful API中对象的版本/修订版

在设计RESTful API时,我们遇到了如何访问"同一对象"的不同版本的问题.让我们说一个页面对象由唯一键标识,并由GET/api/page/pagekey访问.它可以通过发送PUT/api/page/pagekey和正文中的相应文档来更新.

现在,我们的系统会跟踪我们还希望通过API访问的旧版本页面.让我们假设该文档的旧版本是版本1.似乎至少有两种方法可以设计API来访问该特定版本的页面:

  1. GET/api/page/pagekey/1
  2. GET/api/page/pagekey?version = 1

第一个变体将特定版本呈现为自己的资源; 第二个变体为现有资源提供可选的版本上下文.

  • 变体(1)或(2)是更好的解决方案吗?或者有更好的方法吗?
  • 在变体(1)中,对不存在的版本号的请求例如/ api/page/pagekey/7可以触发HTTP 404 Not Found,这是方便的.在考虑变量(2)时,这也是一个有效的状态响应,我们只改变现有资源的上下文"版本",没有版本参数会返回HTTP 200 Ok响应吗?

parameters rest version restful-url restful-architecture

14
推荐指数
2
解决办法
1831
查看次数