我使用了一個後端,它在?-notation和url-嵌入的方式中都支持搜索查詢參數。我知道我可以使用例如URLSearchParams/RequestOptionsArgs發出請求,例如到http://mydomain/api/card?id=abc。@ angular/http中的網址嵌入式參數
但是,我怎麼可以例如像http://mydomain/api/card/abc那樣使用一個類似'card /:id'的URL,例如在定義應用程序路由時也可以這樣做?
以下snipplet是怎麼了,例如現在建立一個GET請求:
public getRequest(url: string, params: URLSearchParams): Observable <Response> {
let options: RequestOptionsArgs = {
url: url,
method: RequestMethod.Get,
headers: RestService.createHeaders(),
search: params,
responseType: ResponseContentType.Json
};
let request: any = this.http.get(url, options);
return request.map((res: any) => {
let response = new ServerResponse(res);
if (response.status == ServerResponseStatus.OK) return response.data;
else console.log('ERROR: GET request ' + options + ' resulted in status:' + response.status);
});
//.catch(this.handleError);
}
那種課程方式是可能的。我真的試圖避免這種「手動」網址建設,並希望像angularjs1中的自動替換。在那裏你可以提供參數名稱和值,並且替換是由框架進行的。 但是在angularjs2中沒有那樣的東西? –
對不起。我不太瞭解angular 1,但是在角度2中,您可以創建一個服務並傳遞參數名稱和值,並且在服務中它會自動將這些值放到您的獲取或發佈請求中。你只需要傳遞你的json來請求這樣的主體this._http.post(api_url,JSON.stringify(body),options).map(this._extractData) .catch(this._handleError); –