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

wordpress文字类主题郑州seo优化公司

wordpress文字类主题,郑州seo优化公司,一学一做教育视频网站有哪些,网站通知模板遇到这么一个面试题:如何在网关做配置,实现只有在早晨9点到下午18点之间接口才允许访问,其他时间访问都是404。 我们知道网关的一个重要的作用就是路由转发,路由表的配置大概是这个样子: spring:cloud:gateway:routes:- id: user…

遇到这么一个面试题:如何在网关做配置,实现只有在早晨9点到下午18点之间接口才允许访问,其他时间访问都是404。
我们知道网关的一个重要的作用就是路由转发,路由表的配置大概是这个样子:

spring:cloud:gateway:routes:- id: user-serviceuri: lb://userservicepredicates:- Path=/user/*

上面的id是路由的名称,uri是要路由到的目的地,predicates就是断言过滤条件,只有当访问的url路径是以/user开头的时候,才会把请求转发到userservice上。
gateway中内置了很多断言规则,每一种断言规则背后都是实现了AbstractRoutePredicateFactory的一个实现类,比如Path断言org.springframework.cloud.gateway.handler.predicate.PathRoutePredicateFactory。但是gateway并没有提供一个根据时间做过滤条件的断言工厂,因此,我们可以自定义一个断言工厂实现这个功能。
那如何来自定义一个断言工厂呢?
首先,写一个AbstractRoutePredicateFactory的实现类

/*** 自定义的断言工厂<br>* 1.名称必须是配置+RoutePredicateFactory<br>* 2.必须继承AbstractRoutePredicateFactory<配置类>*/
@Component
public class HourRoutePredicateFactory extends AbstractRoutePredicateFactory<HourRoutePredicateFactory.Config> {public HourRoutePredicateFactory() {super(HourRoutePredicateFactory.Config.class);}//读取配置文件的参数值,赋值到配置类中的属性上public List<String> shortcutFieldOrder() {//顺序必须与yml文件中的配置顺序对应return Arrays.asList("startHour", "endHour");}public Predicate<ServerWebExchange> apply(HourRoutePredicateFactory.Config config) {return new Predicate<ServerWebExchange>() {@Overridepublic boolean test(ServerWebExchange serverWebExchange) {//获取当前时间LocalDateTime now = LocalDateTime.now();int hour = now.getHour();if(hour >= config.getStartHour() && hour <= config.getEndHour()){return true;}return false;}};}//用于接收参数@Data@NoArgsConstructorpublic static class Config {private int startHour;private int endHour;}
}

然后在配置文件中使用就可以了,比如:

spring:cloud:gateway:routes:- id: user-serviceuri: lb://userservicepredicates:- Path=/user/*- Hour=9,18

打开浏览器,测试一下,如果当前时间是在9-18点之间可以正常访问,否则返回404。
源码下载:https://github.com/xjs1919/enumdemo/tree/master/gateway-predicate-demo

http://www.ritt.cn/news/22156.html

相关文章:

  • wordpress图片视频分享网站seo优化外包
  • 韩城网站建设域名停靠浏览器
  • 网站电子地图怎么做网站注册页面
  • 专业的外贸网站建设公司排超最新积分榜
  • 陕西营销型手机网站建设百度小说搜索排行榜
  • 网站建设的功能有哪些方面交换友情链接的渠道
  • 团购网站开发语言关键词优化排名公司
  • wordpress生成海报图片插件优化关键词的正确方法
  • 网站设计 佛山搜索引擎推广一般包括哪些
  • 网站建设如何找客户北京seo报价
  • 网站 app建设开发合作协议阿里云万网域名购买
  • 广州 深圳 外贸网站建设公司关键词优化推广排名多少钱
  • 网站后端用什么语言百度官方网首页
  • 郑州电子商务网站建设直通车怎么开才有效果
  • 什么是网站组件百度投放广告怎么收费
  • 视频类网站怎么做免费网站流量统计
  • 什么叫社交电商平台关于进一步优化当前疫情防控措施
  • 国外域名交易网站百度品牌广告
  • 公司销售网站怎么做网站推广业务
  • 网站专栏建设情况做好网络推广
  • 西安公司注册网站学seo推广
  • 网站开发用php好吗优化课程
  • 营销型网站建设 价格google 官网入口
  • 网站上的图片做多大除了91还有什么关键词
  • 沈阳大型网站建设腾讯域名注册官网
  • 建造师考试旺道seo系统
  • 重庆免费做网站网络开发
  • 应用网站模板免费大数据网站
  • 深圳网站备案点朋友圈广告
  • 手机web网站淮南网站seo