2017-04-19 10 views
0

私はAngularアプリでAPIコール関数を使用しています。ここで、特定の引数は、いつどこで使用されているコンポーネントで渡すことができます。それは簡単に処理できます。どのようにすればよいかわからないのは、ユーザーがAPIへのポストコールの本体内のパラメーターを渡すことです。誰がそれをどうやって行うのですか?この例では、ユーザーがクエリパラメータと値を渡すことができるようにします。Post APIコールの本体で引数をオンザフライで渡す

getByQuery(page, pagesize) { 
    const headers = new Headers({ 'Content-Type': 'application/json' }); 
    const options = new RequestOptions({ headers: this.headers }); 
    const body = { "addresses.postalCode" : "10009" }; 
    return this.http.post 
     (`https://api.someurl.com/${this.ver}/clients/search?apikey=${this.key}&page=${page}&pagesize=${pagesize}`, 
     body, options).map((res: Response) => res.json()); 
} 

がどのように私はこれを設定ハンドルますので、ここでのコールの本体内の項目は、オンザフライ渡すことができます。これは私のサービス機能のAPIの呼び出しは次のようになりますか?

空のオブジェクトを渡すだけですか?

getByQuery(page, pagesize, {}) {} 

答えて

1

あなたは、単にあなたのgetByQuery関数に新しい引数を追加し、機能を起動するたびにあなたの体のオブジェクトを構築:

getByQuery(page, pagesize, body) { 
    const headers = new Headers({ 'Content-Type': 'application/json' }); 
    const options = new RequestOptions({ headers: this.headers }); 
    return this.http.post 
    (`https://api.someurl.com/${this.ver}/clients/search?apikey=${this.key}&page=${page}&pagesize=${pagesize}`, 
    body, options).map((res: Response) => res.json()); 
} 

そして、あなたの関数を呼び出す:

getByQuery(1, 20, { "addresses.postalCode" : "10009" }); 
関連する問題