You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »


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.


Methods

readNode

Returns a node including its properties and child nodes down to a certain depth.

Request URL

..

Parameters

..

Example

...

queryNodes

..


YAML configuration

The delivery endpoint requires a YAML configuration - otherwise it cannot deliver content. Version 2.0 of the magnolia-rest-content-delivery module can have only one configuration. (Future versions will allow multiple configurations which can be distinguished with an path parameter in the URL.)

Add the configuration to the folder restEndpoints in a light module or within src/main/resources/<module-name>/restEndpoints in a Magnolia Maven module.

Example:

my-endpoint.yaml
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

Properties:

class

required

Must be info.magnolia.rest.delivery.jcr.JcrDeliveryEndpointDefinition or a subclass.

implementationClass

required

Must be info.magnolia.rest.delivery.jcr.v1.JcrDeliveryEndpoint or a subclass.

params

required

The map defining at least one ore more workspace parameters.

<workspace-name>

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).

depth*

optional (default=0)

The depth of subnodes to shwo in the result

includeSystemProperties*

optional (default=true)

Whether the result should show the system properties.

rootPath

required

The root path of this endpoint. Path information when requesting the endpoint is added to this path.

bypassWorkspaceAcls

optional (default=false)

When set to true JCR security is bypassed. (warning) Use with care and for development reasons only!

limit*

optional (default=10)

The number of nodes (of level 0) in the result. Only used in queryNodes method.

*) These properties can be overridden with the REST request with a request parameter.


#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels