我必须开发一个RESTful API来管理文档及其与用户的关联。 每次用户访问其中一个文档时,我都必须跟踪。这在第一次访问时尤其重要,因为我必须区分“从不读取”和“#39;并且已经阅读过'文档。
我想知道/ documents / {id}这样的路径上的GET请求是否允许更新' lastUpdate'数据库中的字段。我担心它可能会违反GET请求的安全和幂等约束,但感觉不合适,特别是因为用户可能想要为URL添加书签。
对这种必要条件的一般共识是什么?
感谢。
答案 0 :(得分:2)
我不认为这是一个问题。在这种情况下,您对GET请求的意图是返回数据。您不发送有关如何更改看到的属性的任何信息。真正改变该属性的是由GET请求触发的EVENT。此事件可以是您使用的访问控制机制的一部分。例如by XACML you can define such events。
但如果您遇到问题,可以在每次GET后与客户端发送PATCH,PUT或POST(取决于API)的替代方法。