通过REST更新结构化资源的最佳实践?

Mar*_*rio 5 rest

我有一个客户端界面,允许用户对树状轮廓执行多次编辑.我认为构成该大纲的记录的总和是单个资源(/大纲/ 39),即使其部分可以通过不同的URL作为单独的资源访问.

问题是用户可以编辑轮廓中的现有节点以及向轮廓添加新节点.通常情况下,当您编辑某些内容时,请将其更改,当您添加新内容时,请将其发布; 但是,在某些情况下,您需要在单个事务中包装所有更改(包括添加和编辑).人们处理这个问题的实际方法是什么?

即使轮廓已经存在且PUT看起来合适,嵌入式增加也违反了PUT的幂等性.我不确定POST是否合适.出于设计目的,我决定不保存用户所做的每个离散更新,但我想这提供了一个解决方案.但是,必须有其他人处理我的问题或对此有所了解.

Ale*_*ack 1

有什么办法可以使添加幂等吗?例如,如果节点有自然键,那么当客户端第二次尝试添加节点时,您将无法执行任何操作。