2017-04-19 51 views
0

我一直在我的Angular应用程序中使用API​​调用函数,其中某些参数可以在使用组件的位置和时间传递。这很容易处理。我不知道该怎么做,就是让一个用户在一个post调用的主体内传递一个参数给API。如何做到这一点?在下面这个例子中,我希望用户能够传递一个查询参数和一个值。这就是我的服务功能API调用看起来像:在邮件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()); 
} 

我怎么会把手设置此所以在这里呼吁的身体的项目可以即时通过?

我只需传入一个空的对象,像这样?

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" });