繁体   English   中英

Angular 4-如何在Http Interceptor中传递HttpParams

[英]Angular 4 - How to pass HttpParams in Http Interceptor

我有一个使用新的HttpClient如下调用后端的服务

getFruits(a, b, c, d) {
    const params = new HttpParams()
       .set('apples', a)
       .set('bananas', b)
       .set('cherries', c)
       .set('dates', d);
       return this.http.get<Fruit[]>(this.GetFruits, {params});
  }

我正在尝试使用HttpInterceptors生成一个模拟后端,以在没有可用后端时进行测试。 传递设置值后,我可以得到响应,但无法使其与动态值一起使用。

if (request.url.match('http://localhost:8080/fruits/filter') && request.method === 'GET' &&
         (request.params.set('apples', '0')),
         (request.params.set('bananas', '10')),
         (request.params.set('cherries', '5')),
         (request.params.set('dates', '7'))) {
         console.log('INTERCEPTED WITH PARAMS');
         request = request.clone({url: '/assets/json/fruits.json'});
         return next.handle(request);
    }

这将成功返回,但是这样不起作用

 if (request.url.match('http://localhost:8080/fruits/filter') && request.method === 'GET' &&
             (request.params.set('apples', a)),
             (request.params.set('bananas', b)),
             (request.params.set('cherries', c)),
             (request.params.set('dates', d))) {
             console.log('INTERCEPTED WITH PARAMS');
             request = request.clone({url: '/assets/json/fruits.json'});
             return next.handle(request);
        }

任何帮助/想法将不胜感激!!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM