如何在RestHeart中使用空过滤器查询修复400 Bad Request?

时间:2017-10-31 07:43:02

标签: rest query-parameters restheart

我正在使用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错误请求

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

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

我想打电话给下面。

    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上搜索解决方案,但我无法找到解决方案。

1 个答案:

答案 0 :(得分:1)

restheart不允许空过滤器。

您的代码中需要if语句才能使用过滤器qparam和不带。

的请求发出请求