【发布时间】:2019-09-17 15:33:36
【问题描述】:
我正在尝试使用 apollo RESTDataSource 来包装我的 rest api。我需要将一些标头传递给 api 调用。
我正在关注文档中的示例:https://www.apollographql.com/docs/apollo-server/features/data-sources#intercepting-fetches
这是我的代码:
willSendRequest(request: RequestOptions) {
console.log(`request 1: ${JSON.stringify(request)}`);
request.headers.set('Authorization', this.context.authorization);
console.log(`request 2: ${JSON.stringify(request)}`);
}
我希望标题包含“授权”。但它总是空的。
以上代码的日志:
request 1: {"method":"POST","path":"partnerinvoices","body":{"command": "input","params":{},"headers":{}}
request 2: {"method":"POST","path":"partnerinvoices","body":{"command":"input","params":{},"headers":{}}
我可以毫无问题地覆盖 willSendRequest 方法中的 body 和 params。
【问题讨论】: