GETリクエスト内でクエリパラメータを送信したい。私のクラスは次のようになります。
@Injectable()
export class Loader implements TranslateLoader{
constructor(private http: Http){
}
getTranslation(lang: string): Observable<any>
{
return this.http.get(routes.Localization.Get) ;// in that place I need to pass params
}
}
これどうやってするの?
これにはURLSearchParams
クラスを活用できます:
getTranslation(lang: string): Observable<any> {
let params = new URLSearchParams();
params.set('param1', 'value1');
return this.http.get(routes.Localization.Get, { search: params });
}
これにより、次のようなURLが生成されます(パラメーターはクエリ文字列に追加されます):http://...?param1=value1
。
このクラスのドキュメントを参照してください。
現在、プロバイダーはエンコード/デコードパラメーターをサポートしています。
これは非常に簡単です-URLSearchParams
を定義し、http.get
メソッドの2番目のパラメーターで渡すことができます。
import { URLSearchParams } from '@angular/http'
let params: URLSearchParams = new URLSearchParams();
params.set('param1', 'someValue');
params.set('param2', 'someValue');
return this.http.get(routes.Localization.Get, { search: params });