-
-
Save galek/4604b641fbe7b396e05a7480881485f1 to your computer and use it in GitHub Desktop.
apiProvider.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Config } from './config'; | |
import { HttpClient, HttpParams } from '@angular/common/http'; | |
import { Injectable } from '@angular/core'; | |
import { Observable } from 'rxjs'; | |
@Injectable() | |
export class API { | |
public config: Config; | |
public http: HttpClient; | |
constructor(public _http: HttpClient) { | |
this.http = _http; | |
this.config = new Config(); | |
} | |
getItem(endPoint: string): Observable<any> { | |
if (!this.http) { | |
console.error("[Fatal error] Not exist http interfaces"); | |
return; | |
} | |
var reqUrl = this.config.GetFullAPI() + endPoint; | |
return this.http.get(reqUrl, this.config.GetHeadersNew()).pipe(); | |
} | |
// getItem2(endPoint: string): Observable<any> { | |
// if (!this.http) { | |
// console.error("[Fatal error] Not exist http interfaces"); | |
// return; | |
// } | |
// var reqUrl = this.config.GetFullAPI() + endPoint; | |
// // return this.http.get(reqUrl, this.config.GetHeadersNew()).pipe(); | |
// return new Promise(resolve => { | |
// this.http.get(reqUrl, this.config.GetHeadersNew()) | |
// .subscribe(data => { | |
// resolve(data); | |
// }); | |
// } | |
// !@ Post item with form Data | |
// !@see: https://stackoverflow.com/questions/46291244/how-to-use-httpclient-send-a-form-data-request | |
postItem(endPoint: string, data: any = {}): Observable<any> { | |
if (!this.http) { | |
console.error("[Fatal error] Not exist http interfaces"); | |
return; | |
} | |
var reqUrl = this.config.GetFullAPI() + endPoint; | |
return this.http.post(reqUrl, data, this.config.GetHeadersNew()).pipe(); | |
} | |
getInfo(endPoint: string, params: any = {}): Observable<any> { | |
if (!this.http) { | |
console.error("[Fatal error] Not exist http interfaces"); | |
return; | |
} | |
var reqUrl = this.config.GetFullAPI() + endPoint; | |
return this.getInfoAnyURL(reqUrl, params); | |
} | |
getInfoAnyURL(url: string, data: any = {}): Observable<any> { | |
if (!this.http) { | |
console.error("[Fatal error] Not exist http interfaces"); | |
return; | |
} | |
if (data === 0) { data = {}; } | |
var params = new HttpParams(); | |
params = params.set("", ""); | |
// Так как иначе не будет & передан(т.е url будет UrlParam1&Param2) | |
// Корретный вариант url¶m1 | |
for (var key in data) { | |
if ('object' !== typeof (data[key])) { | |
params = params.set(key, data[key]); | |
} | |
} | |
// return this.http.get(url + "&" + params1.toString()).pipe(); | |
return this.http.get(url + params.toString()).pipe(); | |
} | |
// TODO: check with post (form data), can be deprecated | |
ajaxCall(endPoint: string, data: any) | |
: Observable<Object> { | |
if (!this.http) { | |
console.error("[Fatal error] Not exist http interfaces"); | |
return; | |
} | |
if (data === 0) { data = {}; } | |
var reqUrl = this.config.GetFullAPI() + endPoint; | |
var params = new HttpParams(); | |
for (var key in data) { | |
if ('object' !== typeof (data[key])) { | |
params = params.set(key, data[key]); | |
} | |
} | |
return this.http.post(reqUrl, params, this.config.GetHeadersNew()).pipe(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment