Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Remove HTML tags from Content API response

Vote:
 

I appreciate any and all help/tips to nudge me in the right direction. We are using Episerver 11.20.

We recently installed the Content Search API for the benefit of a mobile app dev team. However, there is an issue with HTML tags getting returned by the API in property fields, when we would prefer to discard them.

I checked some documentation instructions and I decorated the class property like so:

 [RemoveHtmlTagsWhenIndexing]
        public string NoticeDescription { get; set; }

In ClientInitialization.cs there is also this:

// Remove HTML tags
            conventions.ForInstancesOf<object>()
                .FieldsOfType<string>().StripHtml();

However, HTML tags are still returned in the API response like so:

noticeDescription": {
"value": "We will send more information as soon as possible. We apologise for the inconvenience.<br /><br /></p>\n<p><br /><br /></p>\n<p> </p>\n<p> </p>\n<p> </p>",
"propertyDataType": "PropertyXhtmlString"
},

If anybody has wrestled with the same issue, I'd appreciate any tips. Is there a way to easily customize the API response?

#297309
Feb 27, 2023 10:51
Vote:
 

You will need to use a Property Model Mapper : https://docs.developers.optimizely.com/content-cloud/v1.5.0-content-delivery-api/docs/serialization#property-model-mappers 

Using these methods you can customise the output of the JSON Payload. 

An example of how i used this to get Property Lists to work can be seen here : Optimizely-ContentDelivery-Examples/BenefitItemListPropertyConvertor.cs at b5226d372abd382d2775eeb530bfbe894b5f11b8 · Netcel-Optimizely/Optimizely-ContentDelivery-Examples (github.com) 

#297313
Feb 27, 2023 11:42
Minesh Shah (Netcel) - Feb 27, 2023 18:02
@Eetu So sorry in the rush of reading your message I thought you wanted to customize the Content Delivery API response. Reading it in a bit more detail I am not sure if this will work with the Content Search API. I'll have a quick look to see how to achieve this via a convention
Vote:
 

Thank you very much Minesh, I will look into these.

#297314
Feb 27, 2023 11:43
Vote:
 

I ended up creating a new controller to serve the mobile frontend that needed this content without the HTML formatting.

#298287
Mar 14, 2023 7:02
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.