HTTP和HTTPClient在angular度4之间的区别?
我想知道哪个用来构build一个模拟Web服务来testingAngular程序?
如果您使用的是Angular 4.3.x或更高版本,请使用HttpClient
类:
import { HttpClientModule } from '@angular/common/http'; @NgModule({ imports: [ BrowserModule, HttpClientModule ], ... class MyService() { constructor(http: HttpClient) {...}
这是来自@angular/http
模块的http
升级版本,具有以下改进:
- 键入同步响应正文访问,包括对JSON正文types的支持
- JSON是一个假设的默认值,不再需要明确的parsing
- 拦截器允许将中间件逻辑插入到stream水线中
- 不可变的请求/响应对象
- 请求上传和响应下载的进度事件
- 请求后validation和基于刷新的testing框架
前面的旧的http客户端将被弃用。 这里是提交信息和官方文档的链接。
另外请注意,旧的http是使用Http
类标记而不是新的HttpClient
注入的:
import { HttpModule } from '@angular/http'; @NgModule({ imports: [ BrowserModule, HttpModule ], ... class MyService() { constructor(http: Http) {...}
另外,新的HttpClient
似乎在运行时需要tslib
,所以如果你使用的是SystemJS
,你必须安装npm i tslib
并更新system.config.js
:
map: { ... 'tslib': 'npm:tslib/tslib.js',
如果您使用SystemJS,则需要添加另一个映射:
'@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js',
- angular2滚动到底部(聊天风格)
- 如何将从后端渲染的parameter passing给angular2引导方法
- 在Windows Azure中:什么是Webangular色,工作者angular色和VMangular色?
- Angular2处理http响应
- 运行ng serve命令时,“Port 4200已经在使用”
- 如何在Angular 2中用TypeScript过滤数组?
- 如何在CSS中使用3位数的颜色代码而不是6位数的颜色代码?
- AngularJS:调用$ scope时,防止错误$ digest正在进行中$ apply()
- 在Angular 2中如何使用pipe道格式化date为dd / MM / yyyy?