I am migrating my project from angular 7 to 8. I replaced Http with HttpClient but am stuck in the below code. How should I get rid of RequestOptionsArgs.
import { HttpClient } from '@angular/common/http'; import { RequestOptionsArgs } from '@angular/http/src/interfaces'; import { Observable } from 'rxjs'; import { LocalDataSource } from '../local/local.data-source'; import { ServerSourceConf } from './server-source.conf'; import 'rxjs/add/operator/toPromise'; export declare class ServerDataSource extends LocalDataSource { protected http: HttpClient; protected conf: ServerSourceConf; protected lastRequestCount: number; constructor(http: HttpClient, conf?: ServerSourceConf | {}); count(): number; getElements(): Promise<any>; /** * Extracts array of data from server response * @param res * @returns {any} */ protected extractDataFromResponse(res: any): Array<any>; /** * Extracts total rows count from the server response * Looks for the count in the heders first, then in the response body * @param res * @returns {any} */ protected extractTotalFromResponse(res: any): number; protected requestElements(): Observable<any>; protected createRequestOptions(): RequestOptionsArgs; protected addSortRequestOptions(requestOptions: RequestOptionsArgs): RequestOptionsArgs; protected addFilterRequestOptions(requestOptions: RequestOptionsArgs): RequestOptionsArgs; protected addPagerRequestOptions(requestOptions: RequestOptionsArgs): RequestOptionsArgs; }
This file location is ../node_modules/ng2-smart-table/lib/data-source/server/server.data-source.d.ts
You can create your own interfaces and change the imports to your own interface, but there will be some changes. your interface will look like :-
export interface RequestOptionsArgs {
url?: string|null;
method?: string;
search?: string|{[key: string]: any | any[]}|null;
params?: string|{[key: string]: any | any[]}|null;
headers?: HttpHeaders|null;
body?: any;
withCredentials?: boolean|null;
responseType?: 'arraybuffer'|'blob'|'text'|'json';
}
then you can change your implementation as per these parameters and map these to httpclient.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.