آفلاین
user-avatar

مهاجرت از انگولار ۲ به ۶

2 سال پیش
توسط محمد مطرح شد
آفلاین
user-avatar
محمد ( 18952 تجربه )
2 سال پیش

سلام دوستان من یک کد ارتباط با http دارم در انگولار ۲ میخام به انگولار ۶ بروز کنم . چونکه در انگولار جدید ساتفاده از http منسوخ شده و جای اون httpclient اومده .
این کلاس میخام بصورت Global باشه مثل چیزی که الان هست. بایستی چکار کنم؟
ممنون میشم کد را اصلاح کنید.

‍‍‍```
import { Injectable } from '@angular/core';
import { Http ,Headers, Request, RequestOptions, RequestMethod, Response, ResponseContentType } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
import { Observable } from 'rxjs/Observable';
import { environment } from '../../environments/environment';
import { AuthService } from './auth.service';

@Injectable()
export class ApiService {

private baseUrl = environment.apiUrl;

constructor(private http: Http, private auth: AuthService) { }

get(url: string) {
return this.request(url, RequestMethod.Get);
}

post(url: string, body: Object) {
return this.request(url, RequestMethod.Post, body);
}

put(url: string, body: Object) {
return this.request(url, RequestMethod.Put, body);
}

fileUploadPut(url: string, body: Object) {
return this.imageUploadRequest(url, RequestMethod.Put, body);
}

fileUploadPost(url: string, body: Object) {
return this.imageUploadRequest(url, RequestMethod.Post, body);
}
imageGet(url:string){
return this.getImage(url,RequestMethod.Get)
}

delete(url: string) {
return this.request(url, RequestMethod.Delete);
}

request(url: string, method: RequestMethod, body?: Object) {
const headers = new Headers();

headers.append('Content-Type', 'application/json');
headers.append('Authorization', `${this.auth.getToken()}`);

const requestOptions = new RequestOptions({
  url: `${this.baseUrl}/${url}`,
  method: method,
  headers: headers
});

if (body) {
  requestOptions.body = body;
}

const request = new Request(requestOptions);

return this.http.request(request)
  .map((res: Response) => res.json())
  .catch((res: Response) => this.onRequestError(res));

}

onRequestError(res: Response) {
const statusCode = res.status;
const body = res.json();

const error = {
  statusCode: statusCode,
  error: body.error
};

console.log(error);

return Observable.throw(error);

}

}

برای ارسال پاسخ باید وارد سایت شوید