2016-07-22 1 views
0

Je travaille sur un service Angular 2 et j'essaye de SECHER mon code. Mon service renvoie les données d'une API RESTful (demande GET). Pour l'instant je n'envoie qu'un seul param (auth_token) mais comment puis-je gérer un appel à mon service avec des paramètres supplémentaires?Comment puis-je SECHER mon service dans Angular 2

Voici mon appel de base à mon service:

this._dashboardService.getData('users') 
    .subscribe(usersData=> { 
     if (usersData.ok) { 
     this.users= usersData.json(); 
    }); 

Voici mon service:

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; 
     } 
    }); 
    } 

Je veux faire ce travail de code:

this._dashboardService.getData('users',oneParameter) 
.subscribe(usersData=> { 
    if (usersData.ok) { 
    this.users= usersData.json(); 
}); 

Je ne suis pas sûr comment procéder pour faire ceci (est-ce même possible?)

Des idées?

Répondre

0

Vous pouvez transmettre votre nouvel objet param et l'assigner à un autre objet contenant 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; 
     } 
    }); 
    }