摘要: 从angular 4.3.0 以后的版本开始使用httpclient,替换了之前的http,引用的包路径已经变为了angular/common/http了

一个基础的 httpclient 样例

import { Injectable } from '@angular/core';
import { HttpClient, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { HttpDefaultOptions } from './http.default.options'; @Injectable()
export class Service { private static METHOD_DELTE = 'DELETE';
private static METHOD_POST = 'POST';
private static METHOD_GET = 'GET';
private static METHOD_PUT = 'PUT'; constructor(private httpClient: HttpClient) {
} /**
* 将数据上传
* @param data
* @param {Function} func
*/
uploadDataPost(data: any, func: Function) {
let url = '/api/test';
this.apiPost(url, data)
.subscribe((response: HttpResponse) => {
func(response);
}, error => {
func(undefined);
});
} /**
* 返回json 格式的obj 对象
* @param url
* @param body
* @param urlSearchParams
* @returns {Observable<{}>}
*/
apiPost(url, body, urlSearchParams?: any): Observable<{}> {
let options = {
body: body ? body : null,
params: urlSearchParams,
responseType: 'json'
};
return this.httpClient.request(Service.METHOD_POST, url, options);
} /**
* 返回一个obj 对象
* @param url
* @param urlSearchParams url 的查询参数
* @returns {Observable<{}>}
*/
apiGet(url, urlSearchParams?: any): Observable<{}> {
let options = {
params: urlSearchParams,
responseType: 'json'
};
return this.httpClient.request(Service.METHOD_GET, url, options);
} }

angular5 httpclient的示例实战的更多相关文章

  1. Anchor Boxes示例实战

    Anchor Boxes示例实战 目标检测算法通常对输入图像中的大量区域进行采样,判断这些区域是否包含感兴趣的目标,并调整这些区域的边缘,以便更准确地预测目标的真实边界框.不同的模型可能使用不同的区域 ...

  2. HttpClient使用示例

    1)使用HttpClient发送GET请求 public class MainActivity extends Activity implements OnClickListener { privat ...

  3. SpringCloudAlibaba微服务docker容器打包和部署示例实战

    概述 我们使用前面<SpringCloudAlibaba注册中心与配置中心之利器Nacos实战与源码分析(中)>的两个微服务示例,分别是库存微服务和订单微服务,基于Nacos注册中心和配置 ...

  4. HttpClient SSL示例(转)

    原文地址: http://www.cnblogs.com/jerry19890622/p/4291053.html package com.jerry.httpclient; import java. ...

  5. [转][C#]HttpClient 代码示例

    转自:https://www.cnblogs.com/amosli/p/3918538.html 也参考了:https://www.cnblogs.com/ShadowFiend007/p/80668 ...

  6. 巩固一下:SpringMVC详细示例实战教程

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  7. [转]史上最全最强SpringMVC详细示例实战教程

    原文:http://www.cnblogs.com/sunniest/p/4555801.html?utm_source=tuicool&utm_medium=referral SpringM ...

  8. 史上最全最强SpringMVC详细示例实战教程

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

  9. SpringMVC详细示例实战教程

    一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...

随机推荐

  1. [Swift通天遁地]五、高级扩展-(12)扩展故事板中的元件添加本地化功能

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  2. ACM_百度的面试(单调栈)

    百度的面试 Time Limit: 2000/1000ms (Java/Others) Problem Description: 在一个二维平面,从左到右竖立n根高度分别为:a[1],a[2],... ...

  3. mysql触发器的操作

    一.创建触发器 1.创建有一条执行语句的触发器 CREATE TRIGGER trigger_name BEFORE|AFTER trigger_EVENT(INSERT|DELETE|UPDATE) ...

  4. Google开源技术protobuf

    1.protobuf简介 protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多.虽然是二进制数 ...

  5. RTL Compiler之synthesis steps

    1 synthesis steps 1) Search Paths rc:/> set_attribute lib_search_path path / rc:/> set_attribu ...

  6. Pycharm:debug调试时使用参数

    一种操作方法: 文章链接:MAC下使用Pycharm,debug调试时怎样带参数 今天在网上找了一个例子敲代码,因为我使用的是PyCharm,例子运行时需要带参数,开始不知道怎么带参数,网上搜了大半天 ...

  7. codeforces_731D_(前缀和)(树状数组)

    D. 80-th Level Archeology time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  8. seam的定时轮巡

    青岛的项目要做一个功能,每天凌晨2点的时候保存一次设备数据,这个就要求项目能够间隔24小时每天去做这个事,是一个自主轮巡. seam框架正好提供了这个功能,@Expiration指定开始时间,@Int ...

  9. JTable设置表格背景颜色——隔行不同

    package view; import java.awt.Color; import java.awt.Component; import javax.swing.JLabel; import ja ...

  10. python包与模块

    Python基础-包与模块 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含__init__.py文件). 模块搜索路径,Py ...