Angular 我可以不使用服务器直接从拦截器返回HTTP响应吗?

Angular 我可以不使用服务器直接从拦截器返回HTTP响应吗?,angular,Angular,我正在做一个示例项目,它显示了一些关于httpRequest的信息,比如:queryParams,链接,用户名,…等等 我正在使用HttpInterceptor来处理请求并记录这些信息 所以,我想使用HttpInterceptor来返回HttpResponse,而不向服务器发出完整的请求,因为在使用get或post时,我需要处理虚拟数据,所以我还不需要服务器API 我认为这适用吗?如果是,我该怎么做?解决方案是返回HttpResponse的可观察的,而不调用。handle函数, 比如: @Inj

我正在做一个示例项目,它显示了一些关于
httpRequest
的信息,比如:
queryParams
链接
用户名
,…等等

我正在使用
HttpInterceptor
来处理请求并记录这些信息

所以,我想使用
HttpInterceptor
来返回
HttpResponse
,而不向服务器发出完整的请求,因为在使用
get
post
时,我需要处理虚拟数据,所以我还不需要服务器API


我认为这适用吗?如果是,我该怎么做?

解决方案是返回
HttpResponse
可观察的
,而不调用
。handle
函数, 比如:

@Injectable()
导出类NgxExampleLibService实现HttpInterceptor{
拦截(请求:HttpRequest,下一步:HttpHandler){
//在这里做点什么
返回(新的HttpResponse)({
正文:{msg:'test'},
现状:200
}))
}
构造函数(){}
}

如果模拟API调用,可以忽略拦截器本身。只要在服务类中硬编码响应,并在“发出”调用时调用它。正如我提到的,我需要拦截器记录
HttpRequest
info,因为我的项目应该这样做,有什么想法吗?嗯。。您可以检查请求api是否与要模拟的api匹配,然后从那里返回响应。另外,(这里只是好奇)你在哪里记录这些信息?如果你在问题中或通过stackblitz分享你的代码的最小设置,这将更有帮助。@NicholasK请检查我下面的答案,谢谢。
@Injectable()
export class NgxExampleLibService implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler) {
    // do something here

    return of(new HttpResponse({
      body: { msg: 'test' },
      status: 200
    }))

  }

  constructor() { }
}