2015-04-16 3 views
0

У нас есть вход json, из которого мы должны декодировать каждый элемент на входе и заменять его обратно, прежде чем переходить на бэкэнд. мы использовали политику Извлечь переменные для извлечения элементов, а в политике Javascript мы декодируем элементы с помощью цикла for. Теперь мы должны заменить извлеченные элементы на декодированные значения. Мы пытались использовать jsonPath и заменить элементы, но получаю ошибку под названиемjsonPath не работает в политике apari javascript

выполнение JavaScript-1 произошла ошибка: Javascript runtime error: "ReferenceError: "jsonPath" is not defined. (JavaScript_1_js#5). at line 5

Код, который мы использовали для jsonpath является

var input = new String(context.getVariable("request.content")); 
context.setVariable("input",input); 

var path = jsonPath(input, "$..soldto").toJSONString(); 
context.setVariable("path",path); 

Разве мы не можем использовать jsonPath в политике Apache Javascript?

ответ

0

По умолчанию, если JSONPath нет - вы можете загрузить и добавить его в свой прокси-пакет. Вы ссылаетесь на него, используя includeURL в политике JS. Это сделает его доступным для вашего JS-кода для использования.

http://apigee.com/docs/api-services/reference/javascript-policy#includeurl

Также посмотрите на это же о том, как использовать пользовательские JS LIB, который не входит в комплект.

https://github.com/apigee/api-platform-samples/tree/master/sample-proxies/base64encoder/apiproxy

Образец использует криптографические JS.

Смежные вопросы