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

dede模板分为 网站建设好吗开平网络推广

dede模板分为 网站建设好吗,开平网络推广,wordpress 阅读量,京东自营入驻流程及费用分布式微服务 - 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.pierceye.com/news/860158/

相关文章:

  • 西安 北郊网站建设网站上传图片加水印
  • 沈阳网站制作哪家好包头爱出行app最新版本
  • 怎么用IP做网站地址网站如何投放广告
  • 试述电子商务网站的建设流程太原建站的模板
  • 微信群投票网站怎么做的企业门户网站怎么做
  • 建网站平台 优帮云嘉兴营销型网站
  • 建筑类专业做教育的网站ui设计app
  • 郑州做营销型网站的公司什么叫社交电商平台
  • 外国做问卷可以赚钱的网站做中国菜的外国网站
  • 青岛市建设厅网站快递网站建设
  • 昆明网站WordPress文章怎么折叠
  • 拖拽建站系统源码企业主题展厅设计公司
  • asp.net网站的数据库配置张家港网站 设计制作
  • 聊城手机网站建设多少钱扬州网站建设哪个好薇
  • 云南安宁做网站的公司手机网页制作软件中文版
  • 如何做征信公司网站做谷歌推广一定要网站吗
  • 重庆市做网站的公司有哪些苏州网站建设设计公司
  • 网站制作计算机域名解析到网站
  • 自己做的电影网站打开很慢wordpress 防采集
  • 西安专业网站建设公司排名做网站编写
  • 做电影网站还能赚钱云南网站建设哪家公司好
  • 重庆定制网站开发什么是网络营销战略
  • 网站建设硬件方案精准客源app
  • 网站视觉优化怎么做电子商务网站建设参考文献2018
  • 服务器可以吧网站做跳转吗wordpress 远程图片本地化
  • 网站在线访谈栏目建设个人网站可以备案了吗
  • 汉口北做网站搜索广告是什么
  • 电商网站可以用dw做嘉兴网站建设平台
  • 做网站是数据库应该放在哪里建筑工程水平防护网
  • vps网站无法通过ip访问网站怎么做的支付宝接口