如何在Loopback4中应用Search API

时间:2019-12-21 07:47:00

标签: loopback4

我正在通过get api获取产品列表。我想在该获取api中应用搜索api(我们在其中获取完整的产品列表)。那就是我想给name参数作为可选。如果用户在搜索框中输入名称,则api将按名称搜索该产品并显示它。如果用户未输入名称,则将显示产品的完整列表。这是我的loopback4代码

      @get('/zones', {
responses: {
  '200': {
    description: 'Array of Zone model instances',
    content: {
      'application/json': {
        schema: {
          type: 'array',
          items: getModelSchemaRef(Zone, {includeRelations: true}),
        },
      },
    },
  },
},
 })
  async find(
   //@param.path.string('name') name: String,
   @param.query.object('filter', getFilterSchemaFor(Zone)) filter?: 
Filter<Zone>,
 ): Promise<Zone[]> {
 return this.zoneRepository.find({include: [{relation: 'cameras'}]});
  }

1 个答案:

答案 0 :(得分:0)

最好使用其他API进行搜索。

您可以使用where过滤器进行搜索,如下所示

filter[where][property][regexp]=searchstring

无论如何,如果您仍然想按照自己的方式做。检查参数是否存在。如果是,请使用上述过滤器,否则返回所有数据