API请求适用于邮递员,但不适用于Node.js(请求)
我正在开发一个与API对话的项目,我的脚本在nodeJS中(这是一个很大的项目所以我会给你一个非常简化的版本)
基本上当我向API发送PUT请求时,使用邮递员,它工作正常,当我使用我的代码:GET工作得很好(所以我知道URL是正确的),但PUT不适用于我的脚本,我的控制台上没有错误,API简单发回OK状态,所以我没有错误的地方
这是我的脚本的一个非常基本的版本(也不起作用)
(我知道网址是正确的)
PUT参数:
{ method: 'PUT',
baseUrl: 'https://fusionrv.XXXX.XX/fusion/apiservice',
url:
'XXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXX',
qs:
{ auth:
'AUTH_KEY',
value: 1 },
headers: { 'content-type': 'application/json' } }
简单的代码(没有导入):
request(putParams, (err, res) => {
if (err) console.log(err);
data = JSON.parse(res.body)
console.log(data)
});
在Postman中,我有相同的baseURL和url,以及相同的参数“auth”和“value”,正文设置为“none”,标题是Content-type: application/json
。
响应(在Postman和NodeJS中):
{
"Status": "Success"
}
那么有谁知道为什么它适用于邮递员但不适用于请求模块?我感谢你们所有人!
回答如下:原来问题是API,我需要做一个POST请求并使用不同的URL来访问它,这是一个非常奇怪的API。