简体   繁体   中英

How can I get rid of RequestOptionsArgs in the below code

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM