Typescript 如何使用类型化rest客户端设置请求头?

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.

我想在Typescript中使用键入的rest客户端向请求添加一些头

我没有找到任何文档,所以我看了一下类型化的rest客户端源代码,但我没有完全理解它是如何工作的

我尝试了以下代码,但得到了错误:“ReferenceError:Headers未定义”。所以我认为我不必创建类头的实例

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);
...