为什么在AEM中发出节点删除POST请求

为什么在AEM中发出节点删除POST请求,post,aem,sling,http-delete,Post,Aem,Sling,Http Delete,在CQ的crx/de中,用于获取数据或创建新节点、重新排列节点等的每个请求都由提供服务。 我注意到的一件事是,对于删除数据,会向服务器发出POST请求,而不是DELETE请求,事实上,负载定义这是一个DELETE请求,这看起来不是非常RESTful的 发布请求 有效负载表示删除节点 这种行为有什么具体原因吗?我想这是因为REST和RESTful的不同。 IMHO RESTful意味着您尝试遵守REST原则,但您不会强迫自己完全遵从,实际原因最好由ADOBE来回答 有一些可用于修改存储库内容并

在CQ的crx/de中,用于获取数据或创建新节点、重新排列节点等的每个请求都由提供服务。
我注意到的一件事是,对于删除数据,会向服务器发出POST请求,而不是DELETE请求,事实上,负载定义这是一个DELETE请求,这看起来不是非常RESTful的

发布请求

有效负载表示删除节点


这种行为有什么具体原因吗?

我想这是因为REST和RESTful的不同。 IMHO RESTful意味着您尝试遵守REST原则,但您不会强迫自己完全遵从,实际原因最好由ADOBE来回答

有一些可用于修改存储库内容并用于内容修改的工具

这不是一个(好的)rest实现——它正在请求
POSThttp://localhost:6502/crx/server/crx.default
而不是类似于
POST的东西http://localhost:6502/content/mysite/jcr:content/node1/jcr:content


DELETE
应该是幂等的。因此,在需要服务器端逻辑处理且任何数量的请求的输出不能相同的情况下,首选
POST
。出于同样的原因,在复杂系统中,
DELETE
PUT
的使用往往很少。(据我所知)。

AEM所基于的Apache Sling确实支持直接向要删除的资源发出删除请求,而不是通过
crx.default
。据我所知,AEM中也启用了此功能