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

太平洋网站开发销售管理系统有哪些

太平洋网站开发,销售管理系统有哪些,提高网站互动性,网站建设可行性实施报告问题#xff1a;Spring Cloud Gateway自带的断言#xff08;Predicate#xff09;不满足业务怎么办#xff1f;可以自定义断言#xff01; 先看Spring Cloud Gateway是如何实现断言的 Gateway中断言的整体架构如下#xff1a; public abstract class AbstractRoutePred…问题Spring Cloud Gateway自带的断言Predicate不满足业务怎么办可以自定义断言 先看Spring Cloud Gateway是如何实现断言的 Gateway中断言的整体架构如下 public abstract class AbstractRoutePredicateFactoryC extends AbstractConfigurableCimplements RoutePredicateFactoryC {public AbstractRoutePredicateFactory(ClassC configClass) {super(configClass);} }可以看到Gateway的断言都是继承了AbstractRoutePredicateFactory抽象类。 自定义路由断言规则的步骤如下 新建类名CustomRoutePredicateFactory类名需要以以RoutePredicateFactory结尾并继承AbstractRoutePredicateFactory抽象类。重写apply()方法新建apply()方法所需的静态内部类CustomRoutePredicateFactory.Config这个Config就是我们的断言规则空参构造方法内部调用super()方法在Config类中配置自定义参数apply()中编写自定义的逻辑 import jakarta.validation.constraints.NotNull; import org.springframework.cloud.gateway.handler.predicate.AbstractRoutePredicateFactory; import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate; import org.springframework.web.server.ServerWebExchange;import java.util.function.Predicate;/*** 自定义路由断言工厂指定的用户类型才能访问** author gengducqq.com* since 2024-03-08*/ Component public class CustomRoutePredicateFactory extends AbstractRoutePredicateFactoryCustomRoutePredicateFactory.Config {public CustomRoutePredicateFactory() {super(CustomRoutePredicateFactory.Config.class);}Overridepublic PredicateServerWebExchange apply(CustomRoutePredicateFactory.Config config) {return new GatewayPredicate() {Overridepublic boolean test(ServerWebExchange serverWebExchange) {// 这里可以编写自定义的逻辑// 获取请求中的信息判断是否符合条件String userType serverWebExchange.getRequest().getQueryParams().getFirst(userType);if (userType null) {return false;}// 判断用户类型是否符合return userType.equalsIgnoreCase(config.getUserType());}};}public static class Config {// 这里可以配置一些参数NotNullprivate String userType;public String getUserType() {return userType;}public void setUserType(String userType) {this.userType userType;}} }这个时候已经可以使用我们自定义的断言了。 http://localhost:9527/order/gateway/get/1?userTypeadmin 在yml文件中配置 spring:cloud:gateway:routes:- id: custom_routeuri: https://example.orgpredicates:- name: Customargs:userType: admin # 当用户类型是admin的时候进行路由转发可以看到我们使用的配置方式是完全展开的参数配置方式Fully Expanded Arguments这个时候还是不支持快捷配置的。 为了让自定义的断言支持快捷配置Shortcut Configuration还需要实现shortcutFieldOrder()方法。 完整的代码如下 import jakarta.validation.constraints.NotNull; import org.springframework.cloud.gateway.handler.predicate.AbstractRoutePredicateFactory; import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate; import org.springframework.web.server.ServerWebExchange;import java.util.Collections; import java.util.List; import java.util.function.Predicate;/*** 自定义路由断言工厂指定的用户类型才能访问** author gengducqq.com* since 2024-03-08*/ Component public class CustomRoutePredicateFactory extends AbstractRoutePredicateFactoryCustomRoutePredicateFactory.Config {public CustomRoutePredicateFactory() {super(CustomRoutePredicateFactory.Config.class);}// 快捷配置支持Overridepublic ListString shortcutFieldOrder() {return Collections.singletonList(userType);}Overridepublic PredicateServerWebExchange apply(CustomRoutePredicateFactory.Config config) {return new GatewayPredicate() {Overridepublic boolean test(ServerWebExchange serverWebExchange) {// 这里可以编写自定义的逻辑// 获取请求中的信息判断是否符合条件String userType serverWebExchange.getRequest().getQueryParams().getFirst(userType);if (userType null) {return false;}// 判断用户类型是否符合return userType.equalsIgnoreCase(config.getUserType());}};}public static class Config {// 这里可以配置一些参数NotNullprivate String userType;public String getUserType() {return userType;}public void setUserType(String userType) {this.userType userType;}} }
http://www.dnsts.com.cn/news/100169.html

相关文章:

  • 石家庄有那些网站开发公司wordpress下拉式菜单
  • 校园图书馆网站建设方林装饰公司电话
  • 建站系统主要包括什么东莞品牌设计公司
  • 小说写作网站摄影网站设计与实现
  • 南昌网站建设搜q.479185700上海何时开放娱乐场所
  • x wordpress theme资源网站优化排名
  • 广州微信网站建设如何wordpress调取留言页面
  • 个人备案网站经营时钟插件+wordpress
  • 广西壮族自治区住房和建设厅网站外贸营销
  • 济南建设项目竣工验收公示网站张家界简单的网站建设
  • 网站在线建站大连在哪个省份哪个市
  • 网站开发视频如何节省流量现代感的传媒公司名称
  • 辽宁网站建设找哪家网站开发技术栈
  • 网站建设与维护报告总结模板之家官网手机模板
  • 营销型网站建设 多少钱微软网站开发
  • 数据库网站 建设方案东莞合一网络科技有限公司
  • 整站网站优化长沙中建设计院网站
  • 山东有实力的网站开发多少钱沈阳网站制作机构
  • wordpress上传网站模板活动策划书模板
  • 建设部网站资质升级公示深圳市做网站前十强
  • 家庭办厂3一8万项目seo推广的特点有
  • 长沙企业建站按效果付费安卓应用市场官方版下载
  • 北京黄村专业网站建设价钱qq群排名优化软件购买
  • 免费个人网页制作网站一个简单的html网页
  • 购物网站seo搜索引擎前期分析微信朋友圈怎么投放广告
  • 网站设计网页设计公司wordpress 搞笑网站
  • 肯德基网站是哪家公司做的电子商务网站建设功能
  • 最新网站技术青岛比较知名的网站建设公司
  • 网站电脑速成培训班随州程力网站建设
  • 网页设计感十足的网站google关键词排名查询