angular 5 httpclient

一个基础的 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);
  }

}

 

转载于:https://my.oschina.net/u/2499632/blog/1601590

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值