|
|
1
8
我从来没有特别使用过版本化的行为,但当我遇到类似的场景时,我通常会通过属性的具体化来解决它。 换句话说,我只会为资源的实际版本号创建一个新资源。 如。
将我们的资源恢复到版本123。 按照惯例,我会使用类似“倒数第二个”的值:version来指代实际版本之前的版本。 然后,要回滚实际版本,我们可以这样做:
-- 扩展我自己的答案:
在resources_controller.rb中:
希望这能稍微澄清我之前的想法。;) |
|
|
2
0
因为您的URL是资源的路径,所以我认为修订参数是可选的。您可以省略它,获取最新版本,或明确指定版本。 GET /pages/1 GET /pages/1?revision=4 编辑也是如此。 GET /pages/1/edit GET /pages/1/edit?revision=4 PUT到/pages/1将创建一个新的修订版,将版本号递增1。新版本号的创建与当前修订号无关。这只是编辑的起点。 显然,不可能为POST到/pages(创建)指定修订。 如果你想特别跟踪回复,而上面提到的编辑起点还不够,有一些合理的替代方案。我不是REST极客,所以我不确定你应该选择哪一个。也许这是品味的问题。 PUT /pages/1/revisions/4 PUT /pages/1/revert_to?revision=4 PUT /pages/1?revision=4 第一种选择的代码示例:
|
|
|
Jakob · 烧瓶REST-API:响应中的数值错误 2 年前 |
|
|
Omar Ahmed · 可以仅使用(CSRF)令牌进行身份验证吗 2 年前 |
|
|
Hyper10n · 从T-SQL查询内部管理HTTP会话 2 年前 |
|
|
Lavonne Riley · 无法获取数据并将其添加到谷歌工作表中 2 年前 |
|
|
testtt · 微服务REST调用和数据库事务 2 年前 |
|
|
JoeBim · PHP中的中程API 2 年前 |