有没有办法请求 Magnolia REST API 获取可以使用 JCR SQL2 的等效项检索的产品列表
select * from [mgnl:product] where productName like '%Nikon%'
Run Code Online (Sandbox Code Playgroud)
如果只能使用自定义休息端点,请指出教程。
从 Magnolia REST 2.1 开始更新,使用 v2 端点定义:
\n\n要回答有关节点类型的第二个问题,它看起来像这样,作为轻模块中的 YAML 文件,例如 <module-name>/restEndpoints/delivery/my-products_v1.yaml:
class: info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpointDefinition\nworkspace: products\nrootPath: /\nincludeSystemProperties: false\nbypassWorkspaceAcls: true\ndepth: 2\nnodeTypes:\n - mgnl:product\nchildNodeTypes:\n - mgnl:contentNode\nRun Code Online (Sandbox Code Playgroud)\n\n交付端点配置需要包含节点类型。
\n\nnodeTypes指定要查询的 JCR 节点类型的主要列表\xe2\x80\x94(在您的情况下)mgnl:product;childNodeTypes指定当大于 0时,将哪些子节点作为 JSON 对象包含在主要结果下。depth通过上述配置,您可以分别运行以下请求来查询产品或获取单个产品:
\n\nGET <host>/.rest/delivery/my-products/v1?productName[like]=%25Nikon%25GET <host>/.rest/delivery/my-products/v1/path/to/Nikon-1这与 Magnolia 以前的Nodes 端点不同,后者不可配置,但只允许消费者排除节点类型。
\n