我创建了一个get api,我想在其中通过查询参数中的名称应用搜索。也就是说,如果我们不在同一个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)
如果我理解正确,那么您想使用添加自定义逻辑来检查ss >> std::noskipws >> c;
URL参数。
为此,我们可以编写以下内容:
?name=
这会将@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,
): Promise<Zone[]> {
return this.zoneRepository.find({
where: {name: name},
include: [{ relation: 'cameras' }]
});
}
参数注入到函数中,然后将其作为ORM查询的一部分。