[英]Angular 8 - How to add to my request header a X-Auth-Token?
I'm working in the integration of a new API endpoint.我正在集成一个新的 API 端点。 As a security measure the endpoint expects in the post request headers:
作为一种安全措施,端点期望在 post 请求标头中:
'x-client-key': 'FRONTEND'
I have been looking around the net, but can't seem to find how to implement in my particular case.我一直在网上寻找,但似乎无法找到如何在我的特定情况下实施。
How could I add this in my request?我怎么能在我的请求中添加这个?
getMagic(data) {
return new Promise((resolve, reject) => {
this.http
.post(environment.serverUrl + this.getApiEndPoint() + 'get-magic', data)
.subscribe(
(response: any) => {
resolve(response);
},
(err) => {
console.log(err);
reject(err);
}
);
});
}
This is what I've tried but doesn't work...这是我尝试过但不起作用的方法...
const headers = new Headers().set('Content-Type', 'application/json').set('x-client-key', 'FRONTEND_CLIENT_KEY ');
return new Promise((resolve, reject) => {
this.http
.post(environment.serverUrl + this.getApiEndPoint() + 'get-geocoding', data, { headers: headers })
.subscribe(
(response: any) => {
resolve(response);
},
(err) => {
console.log(err);
reject(err);
}
);
});
}
I tried also我也试过
const headers = new Headers();
headers.set('Content-Type', 'application/json');
headers.set('x-client-key', 'FRONTEND_CLIENT_KEY ');
I assume that you're using Angular, not sure which version, so I'll write a solution for pre-7 and post-7 Angular:我假设你使用的是Angular,不确定是哪个版本,所以我会为pre-7和post-7 Angular写一个解决方案:
Angular 6 or below: Angular 6 或以下:
const headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Access-Control-Allow-Headers': 'Content-Type',
'x-client-key': 'your key'
}
const requestOptions = {
headers: new Headers(headers),
};
return new Promise((resolve, reject) => {
this.http
.post(environment.serverUrl + this.getApiEndPoint() + 'get-geocoding', data, requestOptions)
.subscribe(
(response: any) => {
resolve(response);
},
(err) => {
console.log(err);
reject(err);
}
);
});
Angular 7 or later: replace the class Headers
with a class HttpHeaders
, docs here . Angular 7 或更高版本:将 class 标
Headers
替换为 class HttpHeaders
,此处提供文档。
First, import the HttpHeaders
class:首先,导入
HttpHeaders
class:
import { HttpHeaders } from '@angular/common/http';
And then refactor your code into:然后将您的代码重构为:
const requestOptions = {
headers: new HttpHeaders(headers),
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.