我有一个Spring
控制器,它接受一个参数 - Pageable
:
@RequestMapping(value = "/all", method = RequestMethod.GET)
public Page<Item> getAll(Pageable pageable) {
return itemService.findAll(pageable);
}
通过Postman
我可以通过提供api
作为query params
来调用此http://localhost:8080/api/item/all?page=0&size=2
,我收到了json
个回复,其中包含两个元素。
如何在Angular 4
中调用此类api?还有其他方法可以在query params
中发送Angular 4
吗?
getItems(page, size){
return this.http.get(this.url + '/all?page=' + page + '&size=' + size);
}
我想使用类似的东西:
ngOnInit() {
let search = new URLSearchParams();
search.set('page', '0');
search.set('size', "2");
console.log('------------', search);
this.itemService.getItems({search:search})
.subscribe(res => {
console.log('teitems', res.json());
this.items = res.json().content;
});
}
我的浏览器请求的network
标签中的内容如下:
因为您看到request URL
与我在Postman
上面发布的内容不同。
答案 0 :(得分:0)
你的问题很像here。 看看那里的答案。
总结:
import { HttpParams } from '@angular/common/http';
params = params.append('var1', val1);
this.http.get('base_url', {params: params});
您也可以手动构建您的param对象(不使用HttpParams)。
this.http.get('base_url', {params: {'var1': val1}});