У меня есть следующий запрос API, который нужно реализовать с помощью Axios
(взято из Expensify docs, если вам интересно)
curl -X POST 'https://example/api' \
-d 'requestJobDescription={
"type":"file",
"inputSettings":{
"type":"combinedReportData",
"filters":{
"reportIDList":"1234567,2233445"
}
}
}'
--data-urlencode 'template@expensify_template.ftl'
Основная проблема - файл --data-urlencode, передаваемый как параметр
Решение
Это то, что сработало для меня (я использовал кодировку до этого в параметре шаблона)
axios.post('https://example/api', null, { params: {
requestJobDescription: `{
"type":"file",
"inputSettings":{
"type":"combinedReportData",
"filters":{
"reportIDList":"1234567,2233445"
}
}
}`,
template: `<#-- Header -->
Report ID,Amount,Category
<#list reports as report>
<#list report.transactionList as expense>
\${report.reportID},<#t>
\${(expense.amount/100)?string("0.00")},<#t>
\${expense.category}<#lt>
</#list>
</#list>`
}})
Хотя я все же хотел бы иметь шаблон во внешнем файле. При его импорте возникает неожиданное исключение токена