使用axios模拟邮递员GET请求给出了不同的结果

时间:2020-01-09 16:04:26

标签: reactjs request axios postman

我正在尝试将Postman中的以下请求模拟到Axios:

关于 cURL

curl --location --request GET 'http://url' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer blablabla' \
--data-raw '{
    "category":{
        "value": "category1"
    }
}'

关于 Nodejs请求

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'http://url',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer blablabla'
  },
  body: JSON.stringify({"category":{"value":"category1"}})

};
request(options, function (error, response) { 
  if (error) throw new Error(error);
  console.log(response.body);
});

注意:前两个代码是Postman生成的。

当我通过Postman发送此请求并将请求参数转储到服务器上时,我将得到以下结果:

array:1 [
  "category" => array:1 [
    "value" => "category1"
  ]
]

关于 Axios

var config = {
    params: {
        category:
        {
            value: 'category1'
        }
    },
    headers: {
        'Authorization': 'Bearer blablabla'
    }
};

return Axios.get('http://url', config);

转储通过Axios发送的参数时,将产生以下结果:

array:1 [
  "category" => "{"value":"category1"}"
]

请注意两个结果之间的区别,其中第一个结果中类别的值是一个数组,但是第二个结果中它是一个字符串! >

我如何解决Axios请求以获得与邮递员请求相同的结果?

0 个答案:

没有答案