Magnolia 5.6 reached end of life on June 25, 2020. This branch is no longer supported, see End-of-life policy.
This page explains the delivery endpoint, which can be used to obtain JCR data as JSON.
The endpoint provides two REST resources - readNode
and queryNodes
- both must be called with HTTP GET.
The delivery endpoint must be configured via YAML. Its next version will allow multiple named configurations which can be distinguished by URL path parameter.
readNode
Returns one node including its properties and child nodes down to a certain depth.
/delivery/{workspace}/v1/{path}
Parameter | Description | Data type |
| The name of the workspace. |
|
| The path relative to the |
|
Get the node of the page /travel/about
from the workspace website
.
curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/delivery/website/v1/travel/about' \ -u superuser:superuser
queryNodes
..
The delivery endpoint requires a YAML configuration - otherwise it cannot deliver content. Version 2.0 of the Add the configuration to the folder Properties: required Must be required Must be required The map defining at least one ore more workspace parameters. required The name of the JCR workspace to deliver content from. You define as many workspaces as you need. You define one workspace with the below properties. (The definiton class is WorkspaceParameters). required An list of allowed node types. optional (default=0) The depth of subnodes to shwo in the result optional (default=true) Whether the result should show the system properties. required The root path of this endpoint. Path information when requesting the endpoint is added to this path. optional (default=false) When set to true JCR security is bypassed. Use with care and for development reasons only! optional (default=10) The number of nodes (of level 0) in the result. Only used in *) These properties can be overridden when calling ..magnolia-rest-content-delivery
module can have only one configuration. (Future versions will allow multiple configurations which can be distinguished via URL parameter.)restEndpoints
in a light module or within src/main/resources/<module-name>/restEndpoints
in a Magnolia Maven module.Basic configuration
class: info.magnolia.rest.delivery.jcr.JcrDeliveryEndpointDefinition
implementationClass: info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpoint
params:
website:
depth: 3
includeSystemProperties: false
nodeTypes:
- mgnl:page
- mgnl:area
- mgnl:component
rootPath: /
dam:
depth: 1
includeSystemProperties: false
nodeTypes:
- mgnl:asset
- mgnl:folder
rootPath: /travel-demoe
class
info.magnolia.rest.delivery.jcr.JcrDeliveryEndpointDefinition
or a subclass.implementationClass
info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpoint
or a subclass.params
<workspace-name>
nodeTypes*
depth*
includeSystemProperties
rootPath
bypassWorkspaceAcls
limit*
queryNodes
method.queryNodes
with a request parameter.Configuring reference resolving