【问题标题】:Angular HttpClient adding trailing slash on path with periodAngular HttpClient在带有句点的路径上添加斜杠
【发布时间】:2020-08-31 17:35:21
【问题描述】:

我正在尝试执行 api 请求,但 http 服务似乎弄乱了 api 路径。

当我添加查询参数时,它会在路径和参数之间添加一个斜杠,从而使请求失败:

if (params) {
    reqOpts.params = new HttpParams();
    for (let k in params) {
        reqOpts.params = reqOpts.params.set(k, params[k]);
    }
}

return this.http.get('https://my-api.com/v1/something.svc/resource', reqOpts);

我期望的结果是这样的:

https://my-api.com/v1/something.svc/resource?param1=value

但我在请求中看到的是这样的:

https://my-api.com/v1/something.svc/resource/?param1=value

我做错了吗?我在“something.svc”中没有使用句点对其进行了测试,它工作正常,只有在添加第二个句点时才会中断。

【问题讨论】:

    标签: javascript angular http httpclient


    【解决方案1】:

    请使用对象格式将参数传递给 http get 请求。

    请更新您的 http 请求代码如下。

    return this.http.get('https://my-api.com/v1/something.svc/resource', {params:reqOpts});

    【讨论】:

      猜你喜欢
      • 2012-11-16
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      相关资源
      最近更新 更多