Typescript 如何使用类型化rest客户端设置请求头?
我想在Typescript中使用键入的rest客户端向请求添加一些头 我没有找到任何文档,所以我看了一下类型化的rest客户端源代码,但我没有完全理解它是如何工作的 我尝试了以下代码,但得到了错误:“ReferenceError:Headers未定义”。所以我认为我不必创建类头的实例Typescript 如何使用类型化rest客户端设置请求头?,typescript,typed-rest-client,Typescript,Typed Rest Client,我想在Typescript中使用键入的rest客户端向请求添加一些头 我没有找到任何文档,所以我看了一下类型化的rest客户端源代码,但我没有完全理解它是如何工作的 我尝试了以下代码,但得到了错误:“ReferenceError:Headers未定义”。所以我认为我不必创建类头的实例 import * as restm from 'typed-rest-client'; ... var restc: restm.RestClient = new restm.RestClient( 'api.
import * as restm from 'typed-rest-client';
...
var restc: restm.RestClient = new restm.RestClient(
'api.openweathermap.org',
'https://api.openweathermap.org',
);
var temperaturePath = '/data/2.5/weather';
var apiKey = 'xxx';
var headrs = new Headers();
headrs.append('appid', apiKey);
headrs.append('q', location);
headrs.append('units', 'metric');
var requestOptions = {
additionalHeaders: headrs
};
const response = restc.get(temperaturePath, requestOptions);
您需要使用
IRequestOptions
,如下所述
export interface IRequestOptions {
// defaults to application/json
// common versioning is application/json;version=2.1
acceptHeader?: string,
// since accept is defaulted, set additional headers if needed
additionalHeaders?: ifm.IHeaders,
responseProcessor?: Function,
//Dates aren't automatically deserialized by JSON, this adds a date reviver to ensure they aren't just left as strings
deserializeDates?: boolean
}
和IHeaders
export interface IHeaders { [key: string]: any };
示例代码:
let options: IRequestOptions = {additionalHeaders: {'key' : 'value' }};
let rest: rm.RestClient = new rm.RestClient(param1, param2, param3, options);
...