Angular2 - невозможно получить с помощью условия «где» в запросе к REST API

Я работаю с Parse Server и пытаюсь получить данные с помощью REST API в своем приложении Angular2.

Я пытаюсь получить данные в соответствии с условием where, но не могу этого сделать.

Это код, который я использую:

  constructor(http) {
        var key = new URLSearchParams();
        this.http = http;
        this.disho = null;

        key.set('where', {"estTime":"5min"});
        this.http.get('https://parseapi.example.com/classes/Setto', { where : key }).subscribe(data => {
        this.disho = data.json().results;
        console.log(this.disho);
        });

      }

Приведенный выше код игнорирует мое условие where и возвращает все записи.

Однако следующий код возвращает правильные результаты при выполнении в терминале через cURL.

curl -X GET \
-H "X-Parse-Application-Id: someKey" \
-H "X-Parse-REST-API-Key: someKey" \
-G \
--data-urlencode 'where={"estTime":"5min"}' \
https://parseapi.example.com/classes/Setto

person Hamza L.    schedule 01.05.2016    source источник
comment
Я полагаю, вы исключили здесь проблему на стороне сервера? если это так, откройте сетевую панель в инструментах разработчика и посмотрите, действительно ли передаваемые параметры соответствуют вашим ожиданиям.   -  person drew moore    schedule 01.05.2016
comment
Не могли бы вы дать нам планкр?   -  person Sunny R Gupta    schedule 01.05.2016


Ответы (2)


Я думаю, что в вашем коде опечатка. Одинарные кавычки отсутствуют. Вы можете попробовать следующее:

key.set('where', '{"estTime":"5min"}');
person Thierry Templier    schedule 01.05.2016
comment
ваше решение составляет 50% реального решения: D Я сделал его полностью рабочим, изменив { where : key } на { search : key } в дополнение к предложенному вами решению! В любом случае, благодарю Вас ! ++1 - person Hamza L.; 01.05.2016

Изменить { where : key } на { search : key }

Должно сработать!

person Community    schedule 01.05.2016