如何使用request-promise-native设置原始主体

时间:2018-08-02 15:25:16

标签: node.js request-promise

我在node.js上使用request-promise-native模块。我正在调用的API需要标头以及Content-Type: Application/json中的键。使用邮递员进行测试时,我必须使用“正文”>“原始”来传递必要的参数。那很好。

但是,当我尝试使用请求库进行相同操作时,正文未正确提交。这是我尝试过的:

const request = require('request-promise-native')

let options = {
    method: 'POST',
    uri: 'https://api.com',
    headers: {
        'X-Api-Key': <key>,
        'Content-Type': 'Application/json'
    }
}

options.body = {
    key1: 'value1',
    key2: 'value2'
}

// and since the above didn't work also this:

options.form = {
    key1: 'value1',
    key2: 'value2'
}


request(options)
   .then(function(res){ /* do something */}

我确实得到了回应,但不是基于身体参数。如何复制“原始”身体?

1 个答案:

答案 0 :(得分:2)

request-promise-native内部使用request-promise,而request则是request的包装。
json: true 有一个选项

optionalList.ifPresent(list -> list.stream()
  .flatMap(Optional::stream)
  .forEach(System.out::println));

用于传递json主体参数。您可以使用它。