0

我正在使用 Restheart 和 MongoDB。我正在为响应数据调用一项服务(API)。

工作 API

http://127.0.0.1:8080/test/donor?filter="{'name':'john'}"

当我调用上面的 API 时它正在工作,但是当我把 API 过滤器设置为空时,就像 filter={} 那样它就不起作用了。

不工作的 API

http://127.0.0.1:8080/test/donor?filter="{}"

当我使用空过滤器 =“{}”调用 API 时,它给了我400 Bad Request

实际上,我想为两个目的实现一个 API 调用。

  1. 一种用于过滤条件。
  2. 第二个没有过滤条件。

我想像下面这样打电话。

    var qryFilter = {}; 
    var qryFilterParam; 
    qryFilter["color.code"] = dateInParameter.code;
    qryFilterParam = '&filter=' + JSON.stringify(qryFilter)
    http://127.0.0.1:8080/test/donor?qryFilterParam

然后有些时候qryFilterParam有价值,有些时候没有。当它具有像 filter="{'name':'john'}" 这样的值时,它正在工作,但是当它没有像 filter="{}" 这样的键值时,它就不起作用。我正在网站http://restheart.org/curies/1.0/filter.html上搜索解决方案,但我找不到解决方案。

4

1 回答 1

1

restheart 不允许使用空过滤器。

您需要在代码中使用 if 语句来发出带有过滤器 qparam 的请求和不带过滤器的请求。

于 2017-11-03T06:53:44.603 回答