We have followed the instructions in the article, and are able to change the returned data for pages and blocks when they are the content being requested through the API, e.g. "/api/episerver/v2.0/content/<page or block identifier>". The same goes for using friendly URLs for pages, e.g. "/path/to/page".
However, we have not found a way to change the data returned for blocks that are contained in a content area (either in a page or in a block). Does anyone have any tips for how we can go about doing this?
Hi, from ContentDeliveryApi 2.9.0, you can use the ContentApiModelFilter to modify the model before return to client. Some basic steps:
Create a custom filter class that inherits from ContentApiModelFilter, then mark it with the ServiceConfiguration attribute: [ServiceConfiguration(typeof(IContentApiModelFilter), Lifecycle = ServiceInstanceScope.Singleton)]
Override the method Filter. In this method, you can looking for the block inside the ContentAreaPropertyModel of the content api model and modify the Value/ExpandedValue as you want
Hi,
The following article in the official documentation explains how to customize the API to change the data returned to clients: https://world.episerver.com/documentation/developer-guides/content-delivery-api/how-to-customize-data-returned-to-clients/
We have followed the instructions in the article, and are able to change the returned data for pages and blocks when they are the content being requested through the API, e.g. "/api/episerver/v2.0/content/<page or block identifier>". The same goes for using friendly URLs for pages, e.g. "/path/to/page".
However, we have not found a way to change the data returned for blocks that are contained in a content area (either in a page or in a block). Does anyone have any tips for how we can go about doing this?
- Thomas