Возврат XML-ответа от лямбда-функции (.Net Core)

У меня есть лямбда-функция в AWS, написанная на .Net Core. Как только он вызывается, он делает что-то и, надеюсь, должен вернуть строку xml. Однако возвращаемый тип содержимого по-прежнему json. В API-Gateway->Integration Response->Mapping Templates->Content-type я помещаю application/xml.

Возврат должен быть таким:

<ANSWER>
<STATUS>0</STATUS>
</ANSWER>

Но я получаю это на самом деле:

"<ANSWER><STATUS>0</STATUS></ANSWER>"

двойные кавычки и новая строка, по-видимому, неверны в этой возвращаемой строке.

Я также должен упомянуть, что для возврата этого xml я создаю такую ​​строку:

string result = "<ANSWER><STATUS>0</STATUS></ANSWER>";

И в конце лямбда-функции я возвращаю эту строку следующим образом:

return result;

Какие-либо предложения?


person user3259346    schedule 06.11.2018    source источник


Ответы (1)


Шлюз API настроен на ответ Content-Type из application/json вместо application/xml.

В методе шлюза API нажмите ссылку Integration Response. Разверните ответ 200 и разверните Шаблоны сопоставления тела. Удалите запись по умолчанию application/json. Нажмите Добавить шаблон сопоставления и добавьте application/xml с этим сопоставлением:

#set($inputRoot = $input.path('$')) 
$inputRoot

Это преобразует строковое значение JSON в его обычное содержимое.

person Bjorg    schedule 02.04.2019