【问题标题】:LOOPBACK REST API for 'LIKE''LIKE' 的 LOOPBACK REST API
【发布时间】:2020-03-09 23:40:10
【问题描述】:

如何为 LoopBack 上的“LIKE”查询键入 REST API?

根据 Loopback 文档, 我已经这样尝试了:

ProductDealers?filter={"where":{"DealerCode":"T001","Active":"true","SKU":{"like":"1000.*"}}}

但是什么也没发生, 请帮帮我?

【问题讨论】:

    标签: rest api loopback


    【解决方案1】:

    应该是这样的

    Post.find({
      where: {
        title: {
          like: 'someth.*',
          options: 'i'
        }
      }
    });
    

    对于 api 调用

    ?filter={"where":{"title":{"like":"someth.*","options":"i"}}}
    

    请查看此PR 了解更多信息

    【讨论】:

      【解决方案2】:

      我找到了答案,我不知道为什么当我使用括号“{}”时它不能工作 但是当我使用 " [] " 时,效果很好,就像

      Products?filter[where][Name][like]=%25" + valFilter + "%25&filter[where][Active]=1&filter[where][Deleted]=0"
      

      干杯!

      【讨论】:

        【解决方案3】:

        有点晚了,但我实际上是在寻找其他东西后发现的。

        大多数人的问题是,有一种叫做 Url Encoding.

        在这里阅读更多: https://en.wikipedia.org/wiki/Percent-encoding

        因此,如果您像上面的示例一样对 json 过滤器进行字符串化,请确保将字符串化对象放入 Uri 编码器中,这将确保您得到您期望的结果并控制值的编码

        let t_filter = {
          where: {
            title: {
              like: 'someth.*',
              options: 'i'
            }
          }
        };
        
        let result = encodeURI(JSON.stringify(t_filter));

        然后将结果发送到您的 Api 而不仅仅是字符串化对象

        【讨论】:

          猜你喜欢
          • 2015-05-02
          • 2020-12-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-08-11
          • 2019-08-31
          • 1970-01-01
          相关资源
          最近更新 更多