我正在根据本指南进行编码:https ://angular.io/guide/http#configuring-other-parts-of-the-request 。
我的代码如下:
loadMenuOptions(): void {
console.log('this.currentApiKey |' + this.currentApiKey);
let header = new HttpHeaders();
header = header.set('api-key', this.currentApiKey);
this.commonService. getMenuOptions(MENU_OPTIONS, header).subscribe(respuesta => this.setMenuOptions(respuesta));
}
以下代码是我将此对象发送到服务器时:
getMenuOptions(endPoint: string, header: HttpHeaders): Observable<OptionsResponse> {
console.log('header:' + JSON.stringify(header));
return this.http.get<OptionsResponse>(endPoint, header)
.pipe(
tap(res => this.log('getMenuOptions | status | ' + res.header.status)),
catchError(this.handleError('getMenuOptions', null)));
}
JSON.stringify显示此值:
header:{"normalizedNames":[],"lazyUpdate":[{"name":"api-key","value":"JEFE_HHHABBBJJJXXX","op":"s"}] ,"headers":[],"lazyInit":{"normalizedNames":[],"lazyUpdate":null,"headers":[]}}
但服务器没有收到“api-key”值。
我使用相同的值执行了 POSTMAN,并且服务器正确接收到了“api-key”值。
我究竟做错了什么?
更新
此快照表示第一次调用“getMenuOptions”方法:第一次调用服务器
此屏幕截图属于对服务器的第二次调用:
正如您在第二次调用的第二部分所看到的,包含“api-key”值的标头在“lazyUpdate”对象中发送。