我正在开发一个Angular 2服务,而我正试图干掉我的代码。我的服务从RESTful API(GET请求)返回数据。目前我只发送一个参数(auth_token),但我如何使用额外的参数来处理对我的服务的调用?
这是我对服务的基本调用:
this._dashboardService.getData('users')
.subscribe(usersData=> {
if (usersData.ok) {
this.users= usersData.json();
});
这是我的服务:
getData(data) {
let authToken = localStorage.getItem('auth_token');
let params = new URLSearchParams();
params.set('auth_token', authToken);
return this._http
.get(this._url+data,{ search: params })
.map(data=> {
if (data.status===200) {
return data;
}
});
}
我想让这段代码有效:
this._dashboardService.getData('users',oneParameter)
.subscribe(usersData=> {
if (usersData.ok) {
this.users= usersData.json();
});
我不确定如何继续这样做(甚至可能吗?)
有什么想法吗?
答案 0 :(得分:0)
您可以传递新的对象参数并分配给包含auth_token的另一个对象。
getData(data, anotherParams) {
let params = new URLSearchParams();
let authToken = localStorage.getItem('auth_token');
var myObject = Object.assign({'auth_token':authToken}, anotherParams);
for (var name in myObject) {
params.set(name, myObject[name]);
}
return this._http
.get(this._url+data,{ search: params })
.map(data=> {
if (data.status===200) {
return data;
}
});
}