只要db列subCatId需要varchar字符串,这样就可以正常工作。
this.params = {
'filter': `(${column} like ${subCatId}%)`
}
当列需要整数时失败,可能是由于后面的滴答声将整个URL参数转换为字符串。
我一直在尝试各种变化,但没有一个有效。他们不会编译。
'filter': `${column}%3D`${subCatId}
or
'filter': `${column}=`${subCatId}
这确实有效,用Swagger生成:
http://localhost:8080/api/v2/pfpsql/_table/skills?
fields=skill_id%2C%20skill_name%2C%20category_id&filter=category_id%20%3D%202
因此,Swagger示例不会对表列整数约束产生问题。 Angular代码可以。 " 2"在字符串的末尾是Angular HttpParams中的问题。字段工作正常。
有什么想法怎么做?可能很简单但我对这个主题不熟悉,并且无法通过许多搜索在线查找建议。
答案 0 :(得分:0)
为了将来参考,这是整个http调用。非常感谢Kirk Larkin!有关背景,请参阅OP的评论。
public getSubCatTags(dbTable, column, subCatId): Observable<any> {
this.params = {
'fields': `skill_id, skill_name, category_id`,
'filter': `${column} = ${subCatId}`
};
return this.http.get<any>(`${this.baseUrl}${dbTable}`, {params: this.params, headers: this.headers});
}