Je ne sais pas comment faire un appel API à une telle méthode:
[HttpGet]
[ActionName("GetSupport")]
public HttpResponseMessage GetSupport(int projectid)
Parce qu'il s'agit de GET mais que vous avez toujours un paramètre à passer, comment faire cela?
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('projectid', this.id);
this.http.get('http://localhost:63203/api/CallCenter/GetSupport', { headers: headers })
Avoir quelque chose comme ça:
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('projectid', this.id);
let params = new URLSearchParams();
params.append("someParamKey", this.someParamValue)
this.http.get('http://localhost:63203/api/CallCenter/GetSupport', { headers: headers, search: params })
Bien sûr, ajoutez tous les paramètres dont vous avez besoin pour params
. Cela vous donne beaucoup plus de flexibilité que de simplement utiliser une chaîne d'URL pour transmettre des paramètres à la requête.
EDIT (28.09.2017): Comme Al-Mothafar a déclaré dans un commentaire, search
est obsolète à partir de Angular 4, vous devez donc utiliser params
EDIT (02.11.2017): Si vous utilisez la nouvelle HttpClient
, il existe maintenant HttpParams
, qui ressemblent et sont utilisés comme suit:
let params = new HttpParams().set("paramName",paramValue).set("paramName2", paramValue2); //Create new HttpParams
Et ajoutez ensuite les paramètres à la demande, essentiellement, de la même manière:
this.http.get(url, {headers: headers, params: params});
//No need to use .map(res => res.json()) anymore
Plus dans les docs pour HttpParams
et HttpClient
Je suppose que vous utilisez un service angular2. Vous pouvez appeler HTTP avec les paramètres comme ci-dessous
import {Injectable} from '@angular/core';
import {Http} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class MockService {
constructor(public http: Http) {
}
getFakeUser(pageNumber) {
let URL = "https://randomuser.me/api/?page=" + pageNumber +
"&results=10&inc=name,gender,nat,picture&noinfo";
return new Promise((resolve, reject) => {
this.http.get(URL)
.map(res => res.json())
.subscribe(data => {
// console.log(data)
resolve(data);
}, (error => {
reject(error);
}));
});
}
}