Как передать несколько параметров запроса в URL, используя unirest в nodejs - PullRequest
0 голосов
/ 28 февраля 2020

В NodeJS используя библиотеку Unirest http, я автоматизирую Rest Apis. В настоящее время я застрял на том, как передать параметры запроса с остальным URL.

Я пробовал следующие решения, но не работает: решение 1

unirest('GET', 'https://my-domain.com/Api/learner/courses')
.header({
        "content-type": "application/json",
        "authorization": token
    })
.queryString("pageNumber", "1")
.queryString("sortDirection", "ASC")
.queryString("status", "all")
.end(function (response) {
response.status.should.be.equal(200);
});

получил следующую ошибку при выполнении выше:

TypeError: unirest(...).header(...).queryString is not a function

решение 2:

unirest('GET', 'https://my-domain.com/Api/learner/courses{pageNumber}{sortDirection}{status}')
.header({
        "content-type": "application/json",
        "authorization": token
    })
.routeParam("pageNumber", "1")
.routeParam("sortDirection", "ASC")
.routeParam("status", "all")
.end(function (response) {
response.status.should.be.equal(200);
});

получено сообщение об ошибке:

TypeError: unirest(...).header(...).routeParam is not a function

решение 3:

const param = {
        pageNumber: 1,
        sortDirection: "ASC",
        status: "all"}

unirest ('GET') , 'https://my-domain.com/Api/learner/courses {pageNumber} {sortDirection} {status}') .header ({"content-type": "application / json", "authorization": token}) .send ( param) .end (function (response) {response.status.should.be.equal (200);});

получил ошибку:

Uncaught Error: Error: got 500 response

Любая помощь будет очень ценной ! спасибо.

1 Ответ

1 голос
/ 02 марта 2020

queryString не метод, определенный в самом начале, это запрос.

Смотрите здесь unirest npm

unirest('GET', 'https://my-domain.com/Api/learner/courses')
.header({
    "content-type": "application/json",
    "authorization": token
})
.query("pageNumber", "1")
.query("sortDirection", "ASC")
.query("status", "all")
.end(function (response) {
     response.status.should.be.equal(200);
});

Это документация

unirest
 .post('http://mockbin.com/request')
 .query('name=nijiko')
 .query({
    pet: 'spot'
  })
 .then((response) => {
    console.log(response.body)
 });

Вы можете попробовать эту версию

...