JSON in URL als Suchparameter > URISyntaxException

Hallo zusammen.

In Akeneo wird bei der Abfrage von Produkten ein JSON in der URL genutzt, um nach bestimmten Eigenschaften der Produkte zu filtern. Wenn ich aber so eine Search Query in der Host URL angebe, führt das zu einem Fehler, wegen unzulässiger Zeichen.

An error happened during a HTTP Request. 
(Root Causes: URISyntaxException: Illegal character in query at index 65: 
https://****.cloud.akeneo.com/api/rest/v1/products?search={"family":[{"operator":"IN","value":["sneaker"]}]}

Wie kann man das lösen?

Hallo @anton,

versuch mal deine Query in unsere urlEncode Methode zu setzen.

Viele Grüße
Lukas

Danke, Lukas!

Ich musste ein bisschen rumprobieren, aber das hier hat am Ende funktioniert:

/api/rest/v1/products?search=${urlEncode("{\"family\":[{\"operator\":\"IN\",\"value\":[\"sneaker\",\"retro_sneaker\"]}]}"!)!}

Und ich habe sogar noch rausgefunden, wie ich die Anführungszeichen automatisch ersetzen kann :slight_smile:

/api/rest/v1/products?${urlEncode("search={"family":[{"operator":"IN","value":["sneaker","retro_sneaker"]}]}"!)?replace("\"","\\\"")!}

Viele Grüße,
Anton

1 „Gefällt mir“