Springcloud中zuul 如何过滤下游服务返回的header
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,本篇文章给大家分享的是有关Springcloud中zuul 如何过滤下游服务返回的header,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看
千家信息网最后更新 2025年02月08日Springcloud中zuul 如何过滤下游服务返回的header
本篇文章给大家分享的是有关Springcloud中zuul 如何过滤下游服务返回的header,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Springcloud的版本是Greenwich.SR2,Springboot版本是2.1.6.release.
需求是这样的,Zuul不想返回下游服务返回部分header字段到前端。如下List-1所示,这个ZuulFilter要在SendResponseFilter之前执行,filterType是POST类型,重要的是run()中重新设置了RequestContext中zuulResponseHeaders的值。List-1中所示,zuul将不会返回xxx这个header。
List-1
public class ResponseHeaderFilter extends ZuulFilter { private static final String XXX = "xxx"; @Override public String filterType() { return FilterConstants.POST_TYPE; } @Override public int filterOrder() { //要在SendResponseFilter之前执行 return FilterConstants.SEND_RESPONSE_FILTER_ORDER - 10; } @Override public boolean shouldFilter() { return true; } @Override public Object run() throws ZuulException { RequestContext context = RequestContext.getCurrentContext(); List> filteredResponseHeaders = new ArrayList<>(); List > zuulResponseHeaders = context.getZuulResponseHeaders(); if (zuulResponseHeaders != null) { for (Pair it : zuulResponseHeaders) { if (!it.first().contains(XXX)) { Pair pair = new Pair<>(it.first(), it.second()); filteredResponseHeaders.add(pair); } } } context.put("zuulResponseHeaders", filteredResponseHeaders); return null; }}
难点在于,JSR的Servlet规范中,resposne只有addHeader和setHeader,没有removeHeader,而且setHeader并不是看上的覆盖值,而是追加,这与它的底层实现有关。看了下Zuul的github issue,看到了这个:https://github.com/Netflix/zuul/issues/326 ,测试有效。
以上就是Springcloud中zuul 如何过滤下游服务返回的header,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
服务
更多
版本
知识
篇文章
部分
有关
实用
有效
重要
前端
只有
字段
就是
工作会
底层
文章
看吧
知识点
类型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浙江公众软件开发研究院
铜陵互联网视频系统服务器
华夏三剑客网络技术有限公司
学软件开发南宁市
合肥威寻网络技术是做什么的
戴尔服务器调管理ip
金陵科技学院互联网
火山安卓软件开发平台版
2021网络安全十大行业
路由器与电信以太软件开发
武汉软件开发驻场价钱
进口药品数据库 下载
数据库应用技术存储异常
软件开发哪个岗位比较好
62011com服务器网站
浙江省网络技术应用
我的世界服务器怎么设置保护方块
网络安全事件的最新通报
软件开发与软件测试的区别
广州市海星互联网科技有限公司
国服最大服务器
驾考考试系统软件开发公司
方舟服务器进不去了
广州哪儿淘网络技术
求生之路2加入官方服务器
数据库16mn什么意思
广州网络安全采购
公司邮箱连不上服务器
广州市海星互联网科技有限公司
互联网科技榜