angular5 httpclient的示例实战
从angular4.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()
exportclassService{
privatestaticMETHOD_DELTE='DELETE';
privatestaticMETHOD_POST='POST';
privatestaticMETHOD_GET='GET';
privatestaticMETHOD_PUT='PUT';
constructor(privatehttpClient:HttpClient){
}
/**
*将数据上传
*@paramdata
*@param{Function}func
*/
uploadDataPost(data:any,func:Function){
leturl='/api/test';
this.apiPost(url,data)
.subscribe((response:HttpResponse)=>{
func(response);
},error=>{
func(undefined);
});
}
/**
*返回json格式的obj对象
*@paramurl
*@parambody
*@paramurlSearchParams
*@returns{Observable<{}>}
*/
apiPost(url,body,urlSearchParams?:any):Observable<{}>{
letoptions={
body:body?body:null,
params:urlSearchParams,
responseType:'json'
};
returnthis.httpClient.request(Service.METHOD_POST,url,options);
}
/**
*返回一个obj对象
*@paramurl
*@paramurlSearchParamsurl的查询参数
*@returns{Observable<{}>}
*/
apiGet(url,urlSearchParams?:any):Observable<{}>{
letoptions={
params:urlSearchParams,
responseType:'json'
};
returnthis.httpClient.request(Service.METHOD_GET,url,options);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。