我有两种类型的REST API。
1.免费REST API(无验证(
2.与授权的REST API
对于一种类型的HTTP请求而没有任何问题。
但是对于带有授权作品的REST API在浏览器中,但在Android设备中不起作用。
我使用以下代码:
let req:RequestOptions=new RequestOptions( {
method: RequestMethod.Get,
url: AppGlobal.OAUTH.USER_AUTHORIZATION_URI,
} );
req.headers = new Headers( {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + this.access_token
} );
return this.http.request( new Request( req ) )
.map( res => {
return res.json().message || res.json();
} )
.catch( this.handleError )
从Angular
导入HTTPimport {headers,http,wendesp}来自'@angular/http'
在构造函数中
构造函数( 私人jwtservice:jwtservice,私人http:http({}
设置标头
private setHeaders(): Headers {
let headersConfig = {
'Content-Type': 'application/json',
};
if (this.jwtService.getToken()) {
headersConfig['Authorization'] = `${this.jwtService.getToken()}`;
}
return new Headers(headersConfig);
}
get(route): Observable<any> {
return this.http.get(AppEnvironment.apiUrl + route, {
headers: this.setHeaders()
}).map( res => {
return res.json().message || res.json();
} )
.catch( this.handleError )
post(route): Observable<any> {
return this.http.get(AppEnvironment.apiUrl + route, {
headers: this.setHeaders()
}).map( res => {
return res.json().message || res.json();
} )
.catch( this.handleError )