首页 > 解决方案 > 即使服务器无法访问,也可以模拟服务器响应

问题描述

我知道的事情(如果我错了,请纠正我,谢谢:)):

我的问题

我想测试一些库,而它们的相关服务器有时在开发时可能会关闭我只关心数据与服务器没有交互是可以的

当请求满足某些模式时,即使服务位于其他库中,我是否可以只返回已经准备好的模拟数据而不请求服务器?

我的要求

更新于 2019-01-15

感谢@Sachin Gupta的帮助,我interceptor用这个演示进一步测试了。

做了什么:

标签: angularangular-httpclient-interceptors

解决方案


看看这个。

https://stackblitz.com/edit/angular-json-http-response-catch

如果服务器可访问,则填充数据,否则将模拟作为响应发送

拦截器

export class NoopInterceptor implements HttpInterceptor {

  intercept(req: HttpRequest<any>, next: HttpHandler):
    Observable<HttpEvent<any>> {
      let response = new HttpResponse();
      response = response.clone({body: [{"sads":"ewre"}]});
   
    return next.handle(req).pipe(catchError((err) => {return of(response).pipe(delay(10))}) );
  }
}


推荐阅读