Apache Sling:通过 REST 访问版本 API

Apache Sling: Accessing Versions through REST API

我正在尝试检索 Sling 中可版本化节点的版本历史记录。

我创建了一个可版本化的节点,签出,上传新版本并签入。

curl -u admin:admin -T test.txt http://localhost:8080/apps/versions2
curl -u admin:admin http://localhost:8080/apps/versions2/test.txt -X POST -F"jcr:mixinTypes=mix:versionable"
curl -u admin:admin http://localhost:8080/apps/versions2/test.txt -X POST -F":operation=checkout"
curl -u admin:admin -T test.txt http://localhost:8080/apps/versions2/test.txt
curl -u admin:admin http://localhost:8080/apps/versions2/test.txt -X POST -F":operation=checkin"

但是,当我尝试按照 this enhancement request 的建议提取版本历史记录时,它不起作用。

curl -u admin:admin http://localhost:8080/apps/versions2/test.txt.V.tidy.json
{
"jcr:primaryType": "nt:file",
"jcr:mixinTypes": ["mix:versionable"],
"jcr:createdBy": "admin",
"jcr:versionHistory": "31d1e0e8-22b0-476d-b591-b7441073f0fc",
"jcr:predecessors": [],
"jcr:created": "Mon Nov 20 2017 13:31:47 GMT+0100",
"jcr:baseVersion": "00b9682c-9402-4c5f-a759-8f1837e55e35",
"jcr:isCheckedOut": "false",
"jcr:uuid": "0e1784aa-51c2-4901-b56d-89f8dcea9744"
}

我的计划 B 是从 /jcr:system/jcr:versionStorage 读取节点,但我不知道如何通过 WebDAV 访问它 API。

version info servlet 的配置策略设置为 REQUIRE,这意味着在显式设置配置之前,此 servlet 不会激活。

因此您可以转到系统配置 (http://localhost:8080/system/console/configMgr),搜索 A​​pache Sling Version Info Servlet,单击并保存默认配置,比您能够按预期获得该节点的版本。