Angular 5:HttpParams发送整数而不是字符串值?

时间:2017-12-26 17:28:09

标签: angular

只要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中的问题。字段工作正常。

有什么想法怎么做?可能很简单但我对这个主题不熟悉,并且无法通过许多搜索在线查找建议。

1 个答案:

答案 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});
  }