当前位置: 首页 > news >正文

广州市住房与城乡建设网站软件技术专业专升本考试科目

广州市住房与城乡建设网站,软件技术专业专升本考试科目,怎样制作专业简历,网站建设运营外包前面 https://blog.csdn.net/J080624/article/details/139494909 我们研究了GateWay中各种路由断言的使用。SpringCloud GateWay 还提供了各种过滤器用来对请求和响应进行处理。 官网地址:SpringCloud Gateway Filter 【1】GatewayFilter Factories 路由过滤器允…

前面 https://blog.csdn.net/J080624/article/details/139494909 我们研究了GateWay中各种路由断言的使用。SpringCloud GateWay 还提供了各种过滤器用来对请求和响应进行处理。

官网地址:SpringCloud Gateway Filter
在这里插入图片描述

【1】GatewayFilter Factories

路由过滤器允许对请求和响应进行修改。路由过滤器只作用于特定路由,如果想某些规则应用于所有路由,那么需要使用 spring.cloud.gateway.default-filters.

Spring Cloud Gateway包含了许多内置GatewayFilter Factories。

如图所示这里有31个过滤器,这里只捡几个说明,感兴趣的可以查看官方文档。

在这里插入图片描述

① AddRequestHeader GatewayFilter Factory

为指定路由添加请求头,需要两个参数:请求头名称和值。值格式同样支持URI variables 。

spring:cloud:gateway:routes:- id: add_request_header_routeuri: https://example.orgfilters:- AddRequestHeader=X-Request-red, blue

② AddRequestParameter GatewayFilter Factory

为指定路由匹配的所有请求添加请求参数。需要两个参数:请求参数名称和值。值格式同样支持URI variables 。

spring:cloud:gateway:routes:- id: add_request_parameter_routeuri: https://example.orgfilters:- AddRequestParameter=red, blue

③ AddResponseHeader GatewayFilter Factory

为指定路由匹配的所有请求添加响应头。需要两个参数:响应头名称和值。值格式同样支持URI variables 。

spring:cloud:gateway:routes:- id: add_response_header_routeuri: https://example.orgfilters:- AddResponseHeader=X-Response-Red, Blue

④ DedupeResponseHeader GatewayFilter Factory

Dedupe是重复数据消除的意思,也就是消除指定的请求头重复数据。

spring:cloud:gateway:routes:- id: dedupe_response_header_routeuri: https://example.orgfilters:- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin

上面将会消除Access-Control-Allow-Credentials和Access-Control-Allow-Origin的重复值。

⑨ PrefixPath GatewayFilter Factory

添加统一的请求前缀。

spring:cloud:gateway:routes:- id: prefixpath_routeuri: https://example.orgfilters:- PrefixPath=/mypath

将会为匹配的所有请求添加前缀 /mypath,假设请求为/hello 将会变为 /mypath/hello

【2】Global Filters

SpringCloud Gateway同样内置了一些全局过滤器GlobalFilter ,GlobalFilter接口具有与GatewayFilter相同的特征。这些是有条件地应用于所有路由的特殊过滤器。

① Forward Routing Filter

从ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR获取uri,如果这个uri有一个 forward 协议比如forward:///localendpoint。那么就会使用Spring的DispatcherHandler 进行处理。

The path part of the request URL is overridden with the path in the forward URL. The unmodified original URL is appended to the list in the ServerWebExchangeUtils.GATEWAY_ORIGINAL_REQUEST_URL_ATTR attribute.

核心处理逻辑如下:

public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {URI requestUrl = (URI)exchange.getRequiredAttribute(ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR);String scheme = requestUrl.getScheme();if (!ServerWebExchangeUtils.isAlreadyRouted(exchange) && "forward".equals(scheme)) {if (log.isTraceEnabled()) {log.trace("Forwarding to URI: " + requestUrl);}return this.getDispatcherHandler().handle(exchange);} else {return chain.filter(exchange);}}

② LoadBalancerClient Filter

LoadBalancerClientFilter 会从 ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR获取uri,如果这个uri有一个 lb 协议比如lb://myservice,它使用Spring Cloud LoadBalancerClient将服务名称(在本例中为myservice)解析为实际的主机和端口,并替换同一属性中的URI。

未被修改的原始URL将会追加到ServerWebExchangeUtils.GATEWAY_ORIGINAL_REQUEST_URL_ATTR中。

这个过滤器同样从ServerWebExchangeUtils.GATEWAY_SCHEME_PREFIX_ATTR寻找并判断是否有值等于lb,如果是,同样适用于该规则。下述实例配置了一个LoadBalancerClientFilter:

spring:cloud:gateway:routes:- id: myRouteuri: lb://servicepredicates:- Path=/service/**

默认情况下如果服务实例在LoadBalancer找不到,那么将会返回503。你可以通过配置将其修改为404.

spring.cloud.gateway.loadbalancer.use404=true

【3】自定义全局过滤器

上面都是Gateway给我们提供的各种Filter,实际业务中我们往往是通过实现GlobalFilter接口达到我们预期目标。

参考博文:SpringCloud Gateway使用过滤器对IP和接口进行策略限制

http://www.yayakq.cn/news/906916/

相关文章:

  • 网站后台配置新乡网络公司首选
  • seo网站优化推广费用wordpress设置自动保存
  • 北京网页制作网站品质好的英文
  • 有哪些网站可以自己做加视频郑州新像素ui设计培训收费
  • 如何让网站做成移动版旅游网络营销策划方案
  • 百度做个公司网站要多少钱中铁集团招聘
  • 免费企业建站系统排名浙江seo关键词
  • 做医疗网站颜色选择设计师网站资源
  • 网站推广的基本方法html设计网页作业
  • wap网站建设开发汽车之家网址
  • 地方门户网站建站流程网站建设与管理实训报告总结
  • 无锡企业网站制作策划柳州本地做网站的公司
  • 山西seo博客连云港公司网站优化服务
  • 网站推广小助手网站里添加聊天框怎么做
  • 开发一个网站一般需要多少钱国内企业邮箱排名
  • 深圳做门户网站只做画册的网站
  • 权威的赣州网站建设成都企业网站开发
  • 苏州网站设计价格新区快速seo排名
  • 快速搭建网站服务器wordpress做门户网
  • 阿里云有网站建设吗网站开发 云智互联
  • 网站开发知识视频教程2021年uc秒懂网址推荐
  • 上海网站建设领导品牌学生个人简历
  • 做设计私活的网站建设一个电商网站的流程
  • 网站建设公司找哪家好金昌市住房和城乡建设局网站
  • 中国建设教育学会网站做衣服 网站
  • 男女做爰高清免费网站花乡科技园区网站建设
  • 网站标题title为什么不能频繁的改网站如何做标题优化
  • 网站建设服务专业建站公司云服务器怎么搭建网站
  • 网站开发报价和开发周期网站新闻 写法
  • 网站上传办法工业互联网平台应用