我有以下api请求,我需要使用axios实现 (如果您想知道的话,摘自Expensify文档)
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文件作为参数传递
解决方案 这对我有用(我之前在模板参数中使用过encodeURI)
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>`
}})
尽管我仍然希望在外部文件中有模板。导入它会导致意外的令牌异常