Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session
SOLVED

React SPA: filter model.json before fetch

Avatar

Level 2

Is it possible to filter the en.model.json before the fetch?  Our json is large, and want to remove extraneous key/values, specifically the "allowedComponents" that returns a long list of components for every page and appears to be the majority of bloat in the response:

[":children"]["/content/my-app/us/en/my-page"][":items"].root.allowedComponents.components

 

Perhaps there are query parameters or some other way to return a smaller json response?

 

I found this tutorial that allows modifying the fetch - although I'm not certain it would be useful in this case: http://experience-aem.blogspot.com/2021/09/aem-cloud-service-pass-request-parameters-in-react-spa-mo...

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 5

Allowed components property is perhaps required by editable components module inside AEM Editor. However for the standalone app, one option is to connect with publisher or you can pass a custom header which can be scanned by a custom sling filter which can parse entire json and remove unwanted attributes. Latter option is a generic json filtering solution so there is no need to worry about overriding container/responsivegrid exporters and that also happens when the custom header is present.

View solution in original post

2 Replies

Avatar

Correct answer by
Level 5

Allowed components property is perhaps required by editable components module inside AEM Editor. However for the standalone app, one option is to connect with publisher or you can pass a custom header which can be scanned by a custom sling filter which can parse entire json and remove unwanted attributes. Latter option is a generic json filtering solution so there is no need to worry about overriding container/responsivegrid exporters and that also happens when the custom header is present.