Когда я вызываю конечную точку http://localhost:8080/nuxeo/api/v1/id/bad6cbc5-b75f-4373-981f-6908cec66779?enrichers.document=children
, она возвращает все дочерние элементы, включая удаленные элементы. Но мне нужно получить только активные элементы, и я думаю, что я должен добавить запрос isTrashed=false в конечную точку. Но http://localhost:8080/nuxeo/api/v1/id/bad6cbc5-b75f-4373-981f-6908cec66779?enrichers.document=children&isTrashed=false
ни на что не влияет. Как я могу получить только активные дочерние элементы с сервера nuxeo, используя API отдыха?
Как получить дочерние элементы, которые не удаляются, с помощью конечной точки nuxeo rest?
Ответы (1)
Конечная точка /nuxeo/api/v1/id с обогатителем children не поддерживает этот тип фильтрации.
Я вижу два варианта:
- Реализуйте собственный обогащатель, который будет поддерживать фильтрацию испорченных документов. Обогатитель children реализован классом
org.nuxeo.ecm.core.io.marshallers.json.enrichers.ChildrenJsonEnricher
, поэтому вы можете вдохновить его, как это сделать. - Используйте другую конечную точку с поставщиком страниц, который поддерживает фильтрацию документов, удаленных из корзины:
/nuxeo/api/v1/search/pp/advanced_document_content/execute?&ecm_parentId=bad6cbc5-b75f-4373-981f-6908cec66779&ecm_trashed=false
Преимущества второго варианта:
- разбиение по страницам — просто добавьте
currentPageIndex=0&offset=0&pageSize=20
к запросу - свойства — вы можете определить, какие свойства вам нужны, добавив заголовок:
properties:dublincore,common,uid,file
- расширители — это означает, что вы можете использовать обогащающие элементы для каждого дочернего элемента и получать, например, разрешение или URL-адрес эскиза для каждого дочернего элемента. Для этого добавьте этот заголовок:
enrichers-document: thumbnail, permissions
Пример вызова curl:
curl -X GET -u Administrator:Administrator \
-H "properties:dublincore,common,uid,file" \
-H "enrichers-document: thumbnail, permissions" \
"http://localhost:8080/nuxeo/api/v1/search/pp/advanced_document_content/execute?&ecm_parentId=bad6cbc5-b75f-4373-981f-6908cec66779&ecm_trashed=false" | jq
person
cgrim
schedule
12.08.2020
Я меняю конечную точку на localhost:8080/nuxeo/api/v1/id/, но это не влияет
- person M.M; 12.08.2020
Извините, я упустил из виду, что вы используете конечную точку /nuxeo/api/v1/id, а не nuxeo/api/v1/search/pp. Я обновил ответ правильной информацией, которая может вам помочь - надеюсь.
- person cgrim; 12.08.2020