Я получаю строковое значение (xml to string) из lambda backend, которое должно быть возвращено конечному пользователю в формате application/xml. Как я могу это достичь?AWS API Gateway: преобразовать ответ в XML
4
A
ответ
4
Вы можете указать ответ интеграции, который возвращает XML, вместе с шаблоном сопоставления для форматирования XML с использованием объекта, возвращенного из Lambda.
Я не считаю, что это преобразование формата по умолчанию в XML. Простой шаблон отображения может выглядеть так:
#set($root = $input.path('$'))
<stuff>
<message>$root.message</message>
<sourceIp>$context.identity.sourceIp</sourceIp>
<outputs>
#foreach($key in $root.keySet())
<output>
<key>$key</key>
<value>$root.get($key)</value>
</output>
#end
</outputs>
</stuff>
1
Со ссылкой на this document, раздел «Доступ к $ UTIL Variable», решить задачу в простой JSON в XML-преобразования. Я попробовал шаблон сопоставления, данный ранее здесь, но это не сработало для меня.
В моем случае, полезная нагрузка ответ JSON имеет вид:
[
{
"key1": "val1",
"key2": "val2",
"key3": "val3"
},
{
"key1": "val1",
"key2": "val2",
"key3": "val3",
"key4": "val4"
}
]
Вот шаблон отображения, который имеет дело с ним:
#set ($arr = $util.parseJson($input.path('$')))
<responses>
#foreach($c in $arr)
<response>
#foreach ($k in $c.keySet())
<$k>$c.get($k)</$k>#end
</response>
#end
</responses>
Ключ был parseJson, чтобы получить истинное JSON/Java-объект. После этого он был плавным.
И выход имеет вид:
<responses>
<response>
<key1>val1</key1>
...
</response>
...
</responses>
Я надеюсь, что это помогает.
Смежные вопросы
- 1. Как преобразовать XML в JSON AWS API Gateway?
- 2. AWS Gateway API и ответ файла
- 3. Ответ AWS API Gateway по умолчанию и Trigger AWS Lambda
- 4. AWS Api Gateway:
- 5. Python aws-lambda возвращает xml-файл в aws-api-gateway
- 6. AWS API Gateway ARN
- 7. AWS API Gateway - Encoding
- 8. AWS API Gateway security
- 9. AWS API Gateway Подпись
- 10. AWS API Gateway с угловым
- 11. Карта AWS Lambda 429 ошибки в API Gateway 2XX ответ
- 12. Как обрабатывать ответ в AWS API Gateway iOS
- 13. AWS API Gateway на iOS
- 14. Вызвать AWS Lambda и вернуть ответ API Gateway асинхронно
- 15. AWS API Gateway: Добавить заголовок, если ответ неавторизован
- 16. AWS API Gateway с AWS WAF
- 17. AWS API Gateway Compressed Response
- 18. $ http.get с AWS API Gateway
- 19. AWS API Gateway proxy endpoint
- 20. AWS Api-Gateway неверный регион
- 21. AWS API Gateway body map wildcard
- 22. AWS API Gateway Измените тип контента
- 23. Экспорт определения api из AWS API Gateway
- 24. Версии API с AWS API Gateway
- 25. AWS API Gateway с EC2 Api backend
- 26. AWS API Gateway: как агрегировать результаты?
- 27. Обратный код HTML AWS API Gateway
- 28. Тайм-аут обработки в AWS API Gateway
- 29. Как использовать AWS api gateway в android?
- 30. Parse AWS API Gateway header в Lambda