在 Axios 中收到 400 个错误请求,但 Postman 状态为 200
Posted
技术标签:
【中文标题】在 Axios 中收到 400 个错误请求,但 Postman 状态为 200【英文标题】:Getting 400 bad request in Axios but in Postman status 200 【发布时间】:2021-01-21 20:38:00 【问题描述】:我正在尝试使用 axios 请求 Power BI API。
var configReportInfos =
method: 'get',
url: `https://api.powerbi.com/v1.0/myorg/groups/$process.env.GROUP_ID/reports/$process.env.DASHBOARD_ID`,
headers:
'Content-Type': 'multipart/form-data',
'Authorization': 'Bearer ' + tokenResponse.accessToken
,
data:
;
let reportinfos
try
reportinfos = await axios(configReportInfos)
tokenResponse['reportInfos'] = reportinfos
catch (error)
console.log(error);
;
实际上我遇到了这个错误
请求失败,状态码为 400"
但奇怪的是,我在 Postman 中的状态为 200。
我使用的是同一个令牌。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。当我将应用程序中的内容类型切换为 application.json 时,一切正常。
【讨论】:
我刚刚注意到它是一个 GET 请求。我可能错了,但我认为您不需要为 GET 请求设置标头。检查:zetcode.com/javascript/axios 应该只是:axios.get('webcode.me').then(resp => console.log(resp.data); );或者你可以使用 async/await,你在这个页面上也有例子。 即使删除Content_Type
我也会遇到同样的错误
尝试使用我在之前评论中提到的。尝试使用 axios.get(url) 而不是在 axios 中传递完整的配置。检查授权设置是否一切正常。如果这仍然不起作用,那么我不知道还有什么可能导致问题。
对不起。我不知道还有什么可能导致这个问题。如果您设法找到解决方案,请更新此帖子,因为我想知道问题出在哪里。【参考方案2】:
我遇到了同样的问题(不是在 Axios 中)并且挣扎了几个小时。 我能够从邮递员进行 API 调用,但从我的 java 代码中我得到了 400。 原来,这是一个内容问题。我的请求正文包含一些西里尔文内容,需要在发送前对其进行编码。 Postman 默认执行此操作,因此请求通过并以 200 响应
【讨论】:
以上是关于在 Axios 中收到 400 个错误请求,但 Postman 状态为 200的主要内容,如果未能解决你的问题,请参考以下文章
axios.post 显示错误“请求失败,状态码为 400”,但邮递员发布了相同的数据
发生错误 400(错误请求)时,使用 Axios 从 POST 捕获返回 json
在 Express.js 上使用 Axios 向 Spotify API 发出 POST 请求时出现错误 400