REST:我应该重定向到实体的版本URL吗?

sfu*_*ger 13 rest http-caching

我目前正在开发REST服务.该服务具有不同版本的实体,类似于维基百科文章.

现在我想知道如果为了我应该返回什么

GET /article/4711
Run Code Online (Sandbox Code Playgroud)

我应该使用(临时)重定向到当前版本,例如

GET /article/4711/version/7
Run Code Online (Sandbox Code Playgroud)

或者我应该直接返回当前版本?使用重定向将大大简化HTTP缓存(使用Last-Modified),但具有重定向的缺点(额外请求,'更难'实现).因此,我不确定这是否是一种好的做法.

分享的任何建议,建议或经验?

(顺便说一下:曾经尝试过搜索"REST版本"?你得到的一切都是关于API的版本而不是实体.所以如果这是重复的话,请耐心等待.)

ryt*_*tis 11

如果您将版本视为实体(根据它的外观),这就是我建议的:

GET /article/4711

返回所有版本的列表(以及指向它们的链接).这使得/article/4711一个容器实体.

GET /article/4711/latest

返回最新版本的内容.您可能需要考虑/version/latest使用以下内容.

GET /article/4711/version/7

返回文章的特定版本.