私はバックエンドを使用して、?ノットとurl埋め込みの両方の検索クエリパラメータにアクセスします。私は私が使用できることを知っています。リクエストを行うURLSearchParams/RequestOptionsArgs。 http://mydomain/api/card?id=abcにurl埋め込まれたparamersを@ angular/httpに設定する
しかし、私は、たとえば、アプリケーションパスを定義するときに、例えば、「card /:id」のようなURLを定義することによって、http://mydomain/api/card/abcのようなmor RESTishをどのように使用できますか?これだけ、
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);
}
そのようなアプローチが可能です。私は本当にこの "手動の" URLビルドを避けようとしていて、angularjs1のような自動置換を望んでいました。そこでは、パラメータ名と値を提供することができ、フレームワークによって置換えが行われました。 しかし、それではanglejs2には何もありませんか? –
申し訳ありません。私は角度1についてよく分かりませんが、角度2では、サービスを作成してパラメータ名と値を渡すことができます。サービスでは、これらの値を取得リクエストまたは投稿リクエストに自動的に入れます。このような体でリクエストするにはJSONを渡す必要があります._http.post(api_url、JSON.stringify(body)、options).map(this._extractData) .catch(this._handleError); –