更新或不在url中发送未定义的参数

时间:2017-11-21 07:42:11

标签: angular

我有params的GET请求,我希望只有在未定义时才发送param

在我的方法中没有任何if条件的课程!!

考虑到这一点:

  getPeriodesComptable(immeubleId: any, periodeDeLaDate?: any): Observable<any> {
    return this.http.get(`okay`, {params:{includeDate: date}});
  }

如果日期未定义,我怎样才能发送参数 includeDate

我的终端弹簧等待数/日期并且无法接收未定义但为空。

实际上我没有像spring / hibernate那样的东西&#34;发送null = false&#34;在json。我怎样才能做到这一点。

ps:我实际上有一个AuthInterceptor implements HttpInterceptor但尝试做这样的事情不起作用?:

 req.clone({
        params:req.params.keys().forEach(x=> {
          if(req.params.get(x) == undefined)
            req.params.delete(x)
        })
      })

下一个代码可以工作,但我想避免创建新的HttpParams():

 let cleanedParams = new HttpParams();
      req.params.keys().forEach(x => {
        if(req.params.get(x) != undefined)
          cleanedParams = cleanedParams.append(x, req.params.get(x));
      })

      const clonedRequest = req.clone({
        params:cleanedParams,
      });
      return next.handle(clonedRequest)

如果某人有更清洁/更快的方式来实现这一点,真的很感激。

0 个答案:

没有答案