angular2实现统一的http请求头
2017-08-01 11:56
417 查看
//方案1:能用,但token信息不能写在服务中,应该用全局变量替代,而且还得考虑参数复合问题。 @Injectable() export class DefaultRequestOptions extends BaseRequestOptions { constructor() { super(); this.headers.set('Content-Type', 'application/json'); } } export const requestOptionProvider = {provide: RequestOptions, useClass: DefaultRequestOptions}; //方案2:能用,比较正规的实现,但以后请求就只能用myHttp对象了,而且还要考虑参数复合问题。 export class myHttp extends Http { defaultHeaders = new Headers({ 'Content-Type': 'application/json' }); constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions, private appInitService: AppInitService) { super(_backend, _defaultOptions); } get(url: string, options?: RequestOptionsArgs): Observable<Response> { let optionBuf = new RequestOptions({ headers: this.defaultHeaders, params: {'token': this.appInitService.token} }); //here extend options; return super.get(url, optionBuf); } } export function myHttpFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions, appInitService: AppInitService): myHttp { return new myHttp(xhrBackend, requestOptions, appInitService); // 创建myHttp对象 } export const myHttpProvider = { provide: myHttp, useFactory: myHttpFactory, deps: [XHRBackend, RequestOptions, AppInitService] };
相关文章推荐
- angular2实现统一的http请求头方法
- EF架构~终于实现了Update方法的统一
- Angular2 Service实践——实现简单音乐播放服务
- webService实现单点登录用户关系统一查询
- 记录程序日志(日志实现和统一接口)
- 缓存Ehcache、Memcached、Redis的统一接口实现
- 【转】Facebook人工智能实验室提出「全景分割」,实现实例分割和语义分割的统一
- asp.net通过基类实现统一脚本和样式的管理
- 基于zookeeper实现统一配置管理
- [一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理
- ASP.NET MVC 实现统一登录验证
- 利用spring AOP 实现统一校验
- 基于zookeeper应用——简单统一命名服务实现
- python批处理实现爬取网页静态图片文件重命名图片统一修改大小等功能
- 实现Windows Phone、Android和iOS平台的统一硬件访问
- Gradle实现统一依赖管理
- [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)
- 【Java】abstract class : 对外统一接口+公共方法+必须实现的方法
- Angular2仿照微信UI实现9张图片上传和预览的示例代码
- 通过Filter进行统一编码的实现