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

万维网申请网站域名程序员外包网站

万维网申请网站域名,程序员外包网站,台州网站建设蓝渊,盐城网站优化工作室分布式微服务 - 3.服务网关 - 4.Gateway 项目示例#xff1a; 项目示例 - 3.服务网关 - 3.Gateway 内容提要#xff1a; 基本使用#xff1a;配置方式、代码方式内置断言、自定义断言内置局部过滤器、自定义内置和全局过滤器 文档#xff1a; 官网官网文档 基本使用…分布式微服务 - 3.服务网关 - 4.Gateway 项目示例 项目示例 - 3.服务网关 - 3.Gateway 内容提要 基本使用配置方式、代码方式内置断言、自定义断言内置局部过滤器、自定义内置和全局过滤器 文档 官网官网文档 基本使用 配置方式 引入依赖使用gateway依赖时不能同时引入spring-boot-starter-web依赖。gateway配合nacos使用别名进行路由需要使用负载均衡而nacos依赖不包含因此要单独引入loadbalancer依赖 !--gateway--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependencyapplication.yml配置 spring:cloud:gateway:discovery:locator:# 从服务注册中心根据别名来进行路由enabled: trueroutes:# 路由Id自定义唯一即可- id: nacos-provider-test# 成功匹配后要转换成的路由地址配合服务注册中心使用别名需要负载均衡依赖uri: lb://nacos-provider# 成功匹配后要转换成的路由地址不配合服务注册中心#uri: http://localhost:8001# 断言predicates:# 路径匹配的进行路由- Path/**代码方式 Configuration public class GatewayConfig {Beanpublic RouteLocator myRouteLocator(RouteLocatorBuilder builder) {RouteLocatorBuilder.Builder routes builder.routes();routes.route(nacos-provider-test, r - r.path(/**).uri(lb://nacos-provider));return routes.build();}}路由配置 路由是由ID、URI、一系列的断言和过滤器组成的。断言可以匹配请求中的所有内容如果请求与断言相匹配则进行路由。URI是进行路由时要转换成的路由地址。在满足断言之后过滤器可以修改向URI发送的请求和返回的响应。 断言 gateway本身内置许多断言RoutePredicateFactory接口的实现类多个断言可以组合使用。 当一个请求可以满足多个路由的断言时会按定义的顺序找第一个满足断言的路由。 内置断言 内置断言中用到的时间格式可以用代码ZonedDateTime.now() 获取也可以指定时间区域ZonedDateTime.now(ZoneId.of(Asia/Shanghai)) 。 常用内置断言 Path 请求满足路径正则表达式则匹配如Path/product-serv/segment,/server-b/** Method 请求满足指定请求方式则匹配如MethodGET,POST Cookie 请求cookie中存在指定key且value满足正则表达式则匹配如Cookiekey, valueReg Header 请求头中存在指定key且value满足正则表达式则匹配如HeaderX-Request-Id, \d Query 请求带有指定参数且value满足正则表达式则匹配如Queryname, fly RemoteAddr 请求的ip在指定ip/mask内则匹配如RemoteAddr192.168.1.0/24 Host 请求的host满足正则表达式则匹配如Hostlocalhost:8080,localhost:8081 After 请求时间在指定时间之后则匹配可用于在未来指定时间上线服务如After2024-01-01T23:59:59.12308:00[Asia/Shanghai] Before 请求时间在指定时间之前则匹配可用于服务在指定时间内可访问如Before2024-01-01T23:59:59.12308:00[Asia/Shanghai] Between 请求时间在指定时间之间则匹配可用于服务在指定时间内可访问如Between2024-01-01T23:59:59.12308:00[Asia/Shanghai], 2024-01-02T23:59:59.12308:00[Asia/Shanghai] 自定义断言 创建类并Component注入类名要求是XxxRoutePredicateFactory配置文件中使用断言时断言名为Xxx Component public class CustomRoutePredicateFactory创建静态内部类用于接收参数因此要有属性值和对应的getter和setter GetterSetterpublic static class Config {private String key;private String value;}继承抽象类继承断言工厂类AbstractRoutePredicateFactory并确定泛型为内部类 Component public class CustomRoutePredicateFactory extends AbstractRoutePredicateFactoryCustomRoutePredicateFactory.Config构造方法 public CustomRoutePredicateFactory() {super(Config.class);}重写读配置文件方法方法读取配置文件的参数值赋值到内部类中的属性上顺序必须与yml文件中的配置顺序对应 Overridepublic ListString shortcutFieldOrder() {return Arrays.asList(key, value);}重写apply方法返回true路由成功返回false返回404serverWebExchange可以获取很多内容 Overridepublic PredicateServerWebExchange apply(Config config) {return new PredicateServerWebExchange() {Overridepublic boolean test(ServerWebExchange serverWebExchange) {ListString strings serverWebExchange.getRequest().getHeaders().get(config.key);if (stringsnull || strings.isEmpty())return false;return config.value.equals(strings.get(0));}};}yml文件中配置断言 Customtest, a过滤器 过滤器分为局部过滤器和全局过滤器局部过滤器仅在配置的路由上起效而全局过滤器对所有的路由都起效。 内置局部过滤器 常用内置过滤器 StripPrefix 转换成路由之前去掉URL中前面几节如StripPrefix1 PrefixPath 给请求路径path添加前缀如PrefixPath/nacos AddRequestParameter 添加请求参数如AddRequestParametername,test RemoveRequestParameter 删除请求参数如RemoveRequestParametername AddRequestHeader 在请求头上添加参数如AddRequestHeaderkey,value SetRequestHeader 修改请求头上指定参数的值参数不存在时创建如SetRequestHeadermyHeader, test RemoveRequestHeader 删除请求头上的指定参数如RemoveRequestHeaderMyHeader AddResponseHeader 在响应头上添加参数如AddRequestHeaderkey,value SetResponseHeader 修改响应头上指定参数的值参数不存在时创建如SetResponseHeaderaddHeader, test RewriteResponseHeader 修改响应头上指定参数的值第一个参数是key第二个参数是正则表达式匹配修改前的值第三个参数是修改后的值如RewriteResponseHeaderaddHeader,test1,test RemoveResponseHeader 删除响应头上的指定参数如RemoveResponseHeaderaddHeader SetStatus 设置返回的响应码如SetStatus500 RedirectTo 重定向两个参数分别是重定向300系列状态码和URL如RedirectTo302, https://www.baidu.com RewritePath 重写请求路径如RewritePath/test1/?(?.*), /nacos/${segment} 自定义局部过滤器 创建类并Component注入类名要求是XxxGatewayFilterFactory配置文件中使用过滤器时过滤器名为Xxx Component public class CustomGatewayFilterFactory创建静态内部类用于接收参数因此要有属性值和对应的getter和setter GetterSetterpublic static class Config {private String key;private String value;}继承抽象类继承过滤器工厂类AbstractGatewayFilterFactory并确定泛型为内部类 Component public class CustomGatewayFilterFactory extends AbstractGatewayFilterFactoryCustomGatewayFilterFactory.Config构造方法 public CustomRoutePredicateFactory() {super(Config.class);}重写读配置文件方法方法读取配置文件的参数值赋值到内部类中的属性上顺序必须与yml文件中的配置顺序对应 Overridepublic ListString shortcutFieldOrder() {return Arrays.asList(key, value);}重写apply方法可以在chain.filter(exchange).then之前操作request之后操作responseserverWebExchange可以获取很多内容 Overridepublic GatewayFilter apply(Config config) {return new GatewayFilter() {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {// pre操作return chain.filter(exchange).then(Mono.fromRunnable(() - {// 异步post操作}));}};}yml文件中配置断言 Customtest, a自定义全局过滤器 创建GlobalFilter、Ordered接口实现类并Component注入 Component public class CustomGlobalFilter implements GlobalFilter, Ordered重写getOrder方法方法返回的值越小过滤器的优先级越高 Overridepublic int getOrder() {return 0;}重写filter方法 Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {// pre操作return chain.filter(exchange).then(Mono.fromRunnable(() - {// 异步post操作}));}
http://www.zqtcl.cn/news/465690/

相关文章:

  • 怎样免费建设网站网站建设规划书txt微盘
  • 邯郸网站设计培训做网站建设公司crm在线的培训服务
  • 网站建设文化案例萧山网页设计
  • 融安有那几个网站做的比较好的林州网站建设熊掌号
  • 织梦个人博客网站源码深圳华强北鬼市
  • 成都公司建站模板营销策略有哪些方面
  • 南京哪里做网站河北建设工程交易信息网
  • 广州开发网站设计拍摄宣传片
  • 小型企业网站设计教程深圳seo网站推广方案
  • 做视频网站怎么备案最新网站架构
  • 黄金网站app软件下载安装免费淘宝网页版登录
  • 幸运28网站建设网站返回指定位置怎么做
  • 建设个直播网站要多少钱兴业大街网站建设
  • 网站设计培训班创业上海今天新闻发布会直播
  • 电商网站制作设计wordpress jquery 无法
  • 关键词优化易下拉效率北京和隆优化科技
  • 漯河企业网站开发天津建设协会网站
  • wap网站模式房产信息查询网
  • 做外贸怎么进入国外的网站百度指数总结
  • ui设计作品网站东莞做网站的网络公司
  • 网站未备案怎么访问做网站图片教程
  • 温州专业营销网站建设网络建设解决方案
  • 滨州网站建设 远洋科技网站需求建设书
  • 知道网站域名怎么联系域名解析不成功是什么意思
  • 武宁网站ui专业设计wordpress评论通知代码6
  • thymeleaf做网站 seo重庆平台网站建设找哪家
  • WordPress子站站群建筑工程网上申请质量安全监督
  • 怎么给网站添加图标山西手机版建站系统哪家好
  • frontpage网页制作视频教程昆明网站建设优化企业
  • 工信部 诚信网站备案公司网络营销方案