#xml #postman #postman-visualizer
#xml #почтальон
Вопрос:
У меня есть конечная точка, которая возвращает тело в виде содержимого XML. Ответ выглядит следующим образом:
<Report xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Data>PCEtLSB3aW5kd2F</Data>
</Report>
Поле данных содержит base64, и я хотел бы использовать визуализатор Postman, чтобы иметь возможность отображать файл. По-видимому, нет хороших способов отображения файлов pdf, но, по крайней мере, я могу добавить ссылку, чтобы пользователь мог загрузить файл, а затем открыть его. Теперь проблема, с которой я сталкиваюсь, заключается в том, что я, похоже, не могу получить доступ к этому полю данных из тестового кода.
var template = `
<table bgcolor="#FFFFFF">
<tr>
<th>Save to file system</th>
</tr>
{{#each response}}
<tr>
<td><p>{{response}}</p></td>
</tr>
{{/each}}
</table>
`;
pm.visualizer.set(template, {
response: xml2Json(pm.response.text())
});
console.log(xml2Json(pm.response.text()))
Когда я проверяю консоль, кажется, что тело xml правильно проанализировано в объект json. Однако, если я попытаюсь использовать response в приведенном выше шаблоне, он всегда будет пустым.
Ответ №1:
Вам не нужно будет перебирать что-либо здесь, поэтому просто измените его на this, чтобы показать это Data
значение:
var template = `
<table bgcolor="#FFFFFF">
<tr>
<th>Save to file system</th>
</tr>
<tr>
<td><p>{{response.Report.Data}}</p></td>
</tr>
</table>
`;
pm.visualizer.set(template, {
response: xml2Json(pm.response.text())
});