4

我有一个特定的节点,例如: /content/site/advisors/jcr:content 包含一个属性“cq:allowed templates”,其值由多个字符串值(字符串数组)组成。我想添加另一个字符串值到它使用 curl 命令。请建议。 在此处输入图像描述

4

2 回答 2

5

Sling POST servlet使用@Patch后缀从多值属性中添加或删除值,例如:

$ curl -u admin:admin -Fmulti@TypeHint="String[]" -Fmulti=one -Fmulti=two -Fmulti=four http://localhost:8080/test
$ curl -u admin:admin -Fmulti@Patch="true" -Fmulti="+three" -Fmulti="-four" http://localhost:8080/test

$ curl http://localhost:8080/test.tidy.json
{
  "jcr:primaryType": "nt:unstructured",
  "multi": [
    "one",
    "two",
    "three"
  ]
  }

文档位于https://sling.apache.org/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.html#patch

于 2015-07-08T08:51:34.090 回答
3

只需添加多个 -Fproperty-name="property-value" 和额外的 TypeHint:

-Fproperty-name@TypeHint="String[]" -Fproperty-name="first property value" -Fproperty-name="second property value"等等

于 2015-07-03T12:08:25.603 回答