我正在通过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'}]});
}
答案 0 :(得分:0)
最好使用其他API进行搜索。
您可以使用where过滤器进行搜索,如下所示
filter[where][property][regexp]=searchstring
无论如何,如果您仍然想按照自己的方式做。检查参数是否存在。如果是,请使用上述过滤器,否则返回所有数据