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

做网站ppt百度经验怎么赚钱

做网站ppt,百度经验怎么赚钱,电子商务网站建设作文,品牌推广策划方案怎么写需求:对于本次请求的cookie中,如果userType不是vip的身份,不予访问 思路:因为要按照cookie参数进行判断,所以根据官方自带的CookieRoutePredicateFactory进行改造 创建自己的断言类,命名必须符合 xxxRout…

需求:对于本次请求的cookie中,如果userType不是vip的身份,不予访问

思路:因为要按照cookie参数进行判断,所以根据官方自带的CookieRoutePredicateFactory进行改造

  1. 创建自己的断言类,命名必须符合 xxxRoutePredicateFactory 的规范,其中xxx就是配置文件中 predicates 中的key,我的类名是MyRoutePredicateFactory ,所以配置文件中配置的就是 My ,下面图中会标示
  2. 继承统一的抽象类 AbstractRoutePredicateFactory
  3. 完善断言类型(我使用的是官方也使用的短配置 shortcutFieldOrder )、构造方法以及断言逻辑方法 apply
  4. 定义自己的内部配置类 Config ,其中的 nameregexp 就是断言的属性和值(或者正则,本次只判断值是否相等),需注意这里就不敢直接自动生成set和get方法了,因为官方要求的是Config中的属性所使用的set方法必须返回本Config对象,如图:
    在这里插入图片描述

代码如下:

import jakarta.validation.constraints.NotEmpty;
import org.springframework.cloud.gateway.handler.predicate.AbstractRoutePredicateFactory;
import org.springframework.cloud.gateway.handler.predicate.GatewayPredicate;
import org.springframework.http.HttpCookie;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.server.ServerWebExchange;import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.function.Predicate;/*** 对于请求的cookie中,如果userType不是vip,不予访问*/
@Component
public class MyRoutePredicateFactory extends AbstractRoutePredicateFactory<MyRoutePredicateFactory.Config> {//采用短配置,另外还有一种长展开配置很繁琐public List<String> shortcutFieldOrder() {return Arrays.asList("name", "regexp");}//构造public MyRoutePredicateFactory(){super(MyRoutePredicateFactory.Config.class);}//断言逻辑 public Predicate<ServerWebExchange> apply(MyRoutePredicateFactory.Config config) {return new GatewayPredicate() {public boolean test(ServerWebExchange exchange) {List<HttpCookie> cookies = (List)exchange.getRequest().getCookies().get(config.name);if (cookies == null) {return false;} else {Iterator cookieIterator = cookies.iterator();HttpCookie cookie;do {if (!cookieIterator.hasNext()) {return false;}cookie = (HttpCookie)cookieIterator.next();} while(!config.regexp.equals(cookie.getValue()));return true;}}public Object getConfig() {return config;}public String toString() {return String.format("Cookie: name=%s regexp=%s", config.name, config.regexp);}};}//配置内部类@Validatedpublic static class Config {@NotEmptyprivate String name;@NotEmptyprivate String regexp;public Config() {}public String getName() {return this.name;}public MyRoutePredicateFactory.Config setName(String name) {this.name = name;return this;}public String getRegexp() {return regexp;}public MyRoutePredicateFactory.Config setRegexp(String regexp) {this.regexp = regexp;return this;}}
}

配置文件如图:

在这里插入图片描述

配置代码:

spring:application:name: cloud-gateway #以微服务注册进consulcloud:consul: #配置consul地址host: localhostport: 8500discovery:prefer-ip-address: trueservice-name: ${spring.application.name}gateway:routes:- id: pay_routh1uri: lb://cloud-payment-servicepredicates:- My=userType,VIP

效果:

· cookie中userType不是VIP时,请求不受理:

在这里插入图片描述

· cookie中userType是VIP时,正常查询:

在这里插入图片描述

http://www.yidumall.com/news/39593.html

相关文章:

  • 网站建设优化公司呼和浩特全国最新疫情实时状况地图
  • 网站seo解决方案it培训机构哪家好
  • 制作网站banner百度一下你就知道 官网
  • 室内设计网站推荐知乎广告代理
  • 建德网站建设公司免费网站推广软件哪个好
  • 做自媒体与做网站免费发布推广的平台有哪些
  • 自己做网站卖视频营销比较好的知名公司有哪些
  • 合肥做网站工作室百度一下浏览器下载安装
  • 做网站天通苑萧山市seo关键词排名
  • 做的网站访问不了成都百度推广代理公司
  • 已认证网站服务费怎么做谷歌官方seo入门指南
  • 外贸网站建设与优化百度站长平台如何添加网站
  • 先域名 还是先做网站网络营销名词解释答案
  • 中小互联网企业有哪些河南seo关键词排名优化
  • 网站注册了域名然后怎么做seo招聘要求
  • 长安网站建设定制三门峡网站seo
  • 原生态旅游网站开发需求分析seo优化排名公司
  • 上海制作网站公司网站如何做网站推广广告
  • 定州哪里可以做网站任务推广引流平台
  • javhd720p wordpressseo广告优化
  • 有什么网站是做平面设计的培训网站制作
  • 大连学网站制作网站seo关键词排名
  • 科技网站导航品牌推广
  • 望野王维网站排名优化公司
  • 微信表情包制作网站成都seo正规优化
  • 微信网站开发教程视频教程网站制作价格
  • 校园网站规划与建设怎么做百度网页
  • wordpress建m域名网站推广系统
  • wordpress 静态内容一键优化清理加速
  • 壹佰云建站站长工具在线