Configuration property to control the depth of referenced nodes
(MGNLREST-361)
|
|
| Status: | Completed |
| Project: | Magnolia REST Framework |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Sub-task | Priority: | Neutral |
| Reporter: | Oanh Thai Hoang | Assignee: | Javier Benito |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Template: |
|
| Date of First Response: | |
| Sprint: | DevX 28 |
| Team: |
| Comments |
| Comment by Javier Benito [ 10/Jan/23 ] |
|
DX Core 6.2 demo bundle downloaded from Nexus.
Using tourFinder as example, if we don't configure a resolver, we get: "tourFinder": "d25e69d9-27d0-4477-824c-7cc0714c97ce", if we configure a resolver with only 1 as depthInReferencedNode:
references:
- name: referenceToParentWithDefaultDepthInReferencedNode
propertyName: tourFinder
referenceResolver:
class: info.magnolia.rest.reference.jcr.JcrReferenceResolverDefinition
targetWorkspace: website
depthInReferencedNode: 1
we get, as part of the returned json: "tourFinder": { "@name": "tour-finder", "@path": "/travel/tour-finder", "@id": "d25e69d9-27d0-4477-824c-7cc0714c97ce", "@nodeType": "mgnl:page", "hideInNav": true, "title": "Tour Finder", "main": { "@name": "main", "@path": "/travel/tour-finder/main", "@id": "9cafcc1e-e561-4f15-83ba-6019c8107a86", "@nodeType": "mgnl:area", "@nodes": [] }, "footer": { "@name": "footer", "@path": "/travel/tour-finder/footer", "@id": "ce31ad28-22b2-4c94-9bff-515ee7883634", "@nodeType": "mgnl:area", "@nodes": [] }, "@nodes": [ "main", "footer" ] } so in this case, tourFinder is resolved to its node content, but only to one level (main and footer areas within the node are not resolved). And changing it to 2, we get (again, as part of the returned json): "tourFinder": { "@name": "tour-finder", "@path": "/travel/tour-finder", "@id": "d25e69d9-27d0-4477-824c-7cc0714c97ce", "@nodeType": "mgnl:page", "hideInNav": true, "title": "Tour Finder", "main": { "@name": "main", "@path": "/travel/tour-finder/main", "@id": "9cafcc1e-e561-4f15-83ba-6019c8107a86", "@nodeType": "mgnl:area", "0": { "@name": "0", "@path": "/travel/tour-finder/main/0", "@id": "506bfd9a-ef9f-42bf-8650-f32a3b2fd841", "@nodeType": "mgnl:component", "@nodes": [] }, "@nodes": [ "0" ] }, "footer": { "@name": "footer", "@path": "/travel/tour-finder/footer", "@id": "ce31ad28-22b2-4c94-9bff-515ee7883634", "@nodeType": "mgnl:area", "footer1": { "@name": "footer1", "@path": "/travel/tour-finder/footer/footer1", "@id": "76c936d5-c305-4745-8e23-cfb694692bad", "@nodeType": "mgnl:area", "@nodes": [] }, "footer2": { "@name": "footer2", "@path": "/travel/tour-finder/footer/footer2", "@id": "a2d47f9d-eddf-493e-bf83-e7a64c7be2f0", "@nodeType": "mgnl:area", "@nodes": [] }, ..... ..... Where we can see that now, main and footer are resolved. |