我一直在我的Angular应用程序中使用API调用函数,其中某些参数可以在组件的使用位置和时间传递。这很容易处理。我不确定该怎么做是让用户在post调用的主体内传递一个参数给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, {}) {}
答案 0 :(得分: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" });