我有一个API,该API要求标头中包含国家/地区代码以及授权令牌和承载。 我能够在我的组件文件中获取mat-select值。 但是,我的api标头和令牌已在服务文件中设置。 谁能帮我弄清楚如何将mat-select的值从组件传递到服务文件?
目前,我正在将国家/地区值硬编码为'au',但我希望它根据每个垫选择下拉列表值进行设置。
用于在组件文件中获取垫选择值的代码:
onCountrySelection() {
console.log(this.countryValue);
sessionStorage.setItem('countryCode', this.countryValue);
}
服务类文件中的API;
uploadConfig(templateName, JsonBody) {
const header = new HttpHeaders().set(
'Authorization',
'Bearer ' + sessionStorage.getItem('token'),
).set(
'country',
'au'
);
return this.httpClient.post(
this.localUrl + '/pattern/' + templateName + '/flow', JsonBody,
{ headers: header }
);
}
答案 0 :(得分:1)
尝试在API方法的签名中添加其他参数:
uploadConfig(templateName, JsonBody, countryCode) {
const header = new HttpHeaders().set(
'Authorization', 'Bearer ' + sessionStorage.getItem('token'),
).set(
'country', countryCode
);
return this.httpClient.post(
this.localUrl + '/pattern/' + templateName + '/flow', JsonBody, { headers: header }
);
}
然后在致电服务时,只需发送countryValue
:
uploadConfig(,,this.countryValue);