angular - 需要从 Angular 中的 HttpClient 获取 Header 属性值
问题描述
需要从标题中获取价值。需要使用角度获取 X-Count 属性值。我的代码有一些错误
后端代码
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<OrderDTO>> getAllOrders(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("X-Count",String.valueOf(orderService.ordersCount()));
httpHeaders.setAccessControlAllowHeaders(Arrays.asList("X-Count"));
httpHeaders.setAccessControlExposeHeaders(Arrays.asList("X-Count"));
return new ResponseEntity<List<OrderDTO>>(orderService.getAllOrders(),httpHeaders,HttpStatus.OK);
}
服务目录
getOrderCount(): Observable<any> {
return this.httpClient.get<any>(this.BASE_URL);
}
组件目录
this.placeOrderService.getOrderCount().subscribe(count => {
console.log(count.headers.get('X-Count'));
}, error1 => {
console.log(error1);
});
解决方案
响应正文不会返回您可能需要的所有数据。有时服务器会返回特殊的标头或状态代码,以指示对应用程序工作流很重要的某些条件。
告诉 HttpClient 您想要使用观察选项的完整响应
getOrderCount(): Observable<any> {
return this.httpClient.get<any>(this.BASE_URL, { observe: 'response' });
}
现在 HttpClient.get() 返回一个类型化的 HttpResponse 的 Observable 而不仅仅是 JSON 数据。
(来源:文档)
推荐阅读
- twitter-bootstrap - bootstrap 5 导航栏从导航栏切换器中排除导航栏文本
- google-cloud-platform - 与谷歌地球引擎和谷歌云平台并行处理?
- projection - 如何使用透视投影将 ND 坐标转换为 2D 坐标
- android - 位图不适合位图着色器
- google-apps-script - 只有在没有获取数据的情况下,我才能让我的函数运行?
- javascript - 将 django 模板文件内容传递给 javascript
- flutter - 如何制作带有图像和文字的卡片?
- r - R:将 Rmarkdown 转换为 PDF
- android - 如何修复默认 FirebaseApp 无法初始化,因为没有找到默认选项
- graphviz - 更改节点形状时的非法指令