木兰 REST API

Ale*_*eiP 0 rest magnolia

有没有办法请求 Magnolia REST API 获取可以使用 JCR SQL2 的等效项检索的产品列表

select * from [mgnl:product] where productName like '%Nikon%'
Run Code Online (Sandbox Code Playgroud)

如果只能使用自定义休息端点,请指出教程。

mkg*_*kgl 5

从 Magnolia REST 2.1 开始更新,使用 v2 端点定义:

\n\n

要回答有关节点类型的第二个问题,它看起来像这样,作为轻模块中的 YAML 文件,例如 <module-name>/restEndpoints/delivery/my-products_v1.yaml

\n\n
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\n
Run Code Online (Sandbox Code Playgroud)\n\n

交付端点配置需要包含节点类型。

\n\n
    \n
  • nodeTypes指定要查询的 JCR 节点类型的主要列表\xe2\x80\x94(在您的情况下)mgnl:product
  • \n
  • childNodeTypes指定当大于 0时,将哪些子节点作为 JSON 对象包含在主要结果下。depth
  • \n
\n\n

通过上述配置,您可以分别运行以下请求来查询产品或获取单个产品:

\n\n
    \n
  • GET <host>/.rest/delivery/my-products/v1?productName[like]=%25Nikon%25
  • \n
  • GET <host>/.rest/delivery/my-products/v1/path/to/Nikon-1
  • \n
\n\n

这与 Magnolia 以前的Nodes 端点不同,后者不可配置,但只允许消费者排除节点类型。

\n