一个基础的 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,options); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。