当前位置: 首页 > 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.zqtcl.cn/news/860158/

相关文章:

  • 淄博手机网站建设报价商业网站地方频道
  • 小说网站开发业务逻辑php 网站
  • 专业的做网站动态个人网站模板
  • 设计师网站设计网站开发试题库
  • 做网站是用c 吗东莞网络推广优化
  • 外贸soho网站建设wordpress配置搜索引擎优化
  • 嘉兴网站公司安卓优化大师2023
  • 电影网站开发影院座位问题正能量网站大全
  • dede手机网站更新成安专业做网站
  • 做能支付的网站贵吗品牌策划费用
  • 营销网站开发网站建设工作室
  • 如何把自己做的网站挂网上网页版梦幻西游红色伙伴搭配
  • 网站正在建设中 倒计时软件开发培训机构找极客时间
  • 贵阳网站建设搜q479185700大学网站栏目建设
  • 开发网站找什么公司吗电影网站域名
  • 网站栏目设计怎么写黑龙江建设网官
  • 网站主页设计素材php企业门户网站模板
  • 管理外贸网站模板wordpress live-2d
  • 哈尔滨优化网站方法网站栏目功能分析
  • diy定制网站wordpress 做表格
  • 怎么建设个网站佛山网站设计
  • 饰品企业网站建设做网站管理系统
  • 网站制作的关键技术网站开发网页设计北京师范大学出版社
  • 南宁北京网站建设网站代理合作
  • 网站备案要多少钱包装设计接单网站
  • 涵江网站建设超市营销型网站建设策划书
  • 无锡定制网站建设织梦笑话网站
  • 网站开发的安全性原则潍坊 logo设计公司
  • 宜春市城乡规划建设局网站网站设计师联盟
  • 重庆施工员证查询网站广告设计专业认知报告