springcloud实战之12 路由网关拦截器
来源:互联网 发布:和女孩子网络聊天技巧 编辑:程序博客网 时间:2024/06/05 04:41
为了能够在api网关中实现对客户端请求的校验,我们将继续介绍spring cloud zuul的另外一个核心功能:请求过滤。zuul允许开发这在api-gateway网关上通过定义过滤器来实现对请求的核心拦截与过滤,实现的方法非常简单。
重构工程(springcloud-server-api-gateway)
新建过滤类
public class AccessFilter extends ZuulFilter { private final Logger _logger = LoggerFactory.getLogger(this.getClass()) ; @Override public String filterType() { return "pre"; } @Override public int filterOrder() { return 0; } @Override public boolean shouldFilter() { return true; } @Override public Object run() { RequestContext ctx = RequestContext.getCurrentContext() ; HttpServletRequest request = ctx.getRequest() ; _logger.info("send {} to {}",request.getMethod(),request.getRequestURL().toString()); Object token = request.getParameter("token") ; if(null == token){ _logger.error("token is null ..."); ctx.setSendZuulResponse(false); ctx.setResponseStatusCode(401); }else{ _logger.info("access token is ok!!!"); } return null; }}
注册过滤器
@Configurationpublic class ApiGatewayConfig { @Bean public AccessFilter accessFilter(){ return new AccessFilter(); }}
调用效果图
调用原来的接口,
调用地址:http://localhost:8004/api-b/api/rest/getMessage
调用地址:http://localhost:8004/api-b/api/rest/getMessage?token=sss
源码
springcloud-server-eureka
springcloud-producer-rest
springcloud-consumer-feign
springcloud-consumer-ribbon
springcloud-server-api-gateway
历史文章
springcloud实战之1 技术选型:dubbo还是springcloud
springcloud实战之2 服务注册与发现(eureka实现)
springcloud实战之3 高可用服务注册中心(eureka集群)
springcloud实战之5 服务消费者(ribbon)
springcloud实战之6 服务消费者(Feign)
springcloud实战之7 断路器(Hystrix)
springcloud实战之8 断路器-仪表盘-单例监控(Hystrix)
springcloud实战之9断路器-集群监控(turbine)
springcloud实战之10 分布式配置中心(config)
springcloud实战之11路由网关(zuul)
- springcloud实战之12 路由网关拦截器
- springcloud实战之11路由网关(zuul)
- springcloud入门之路由网关zuul
- SpringCloud: 路由网关(zuul)
- SpringCloud教程 | 第五篇: 路由网关(zuul)
- SpringCloud 教程 | 第五篇:路由网关(zuul)
- SpringCloud教程五:路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)
- springcloud实战之1 技术选型:dubbo还是springcloud
- springCloud学习05之api网关服务zuul过滤器filter
- Java常见异常
- 继承
- IT行业风投与中国
- Android学习笔记之Material design概念
- Spring Boot集成JasperReports生成PDF文档
- springcloud实战之12 路由网关拦截器
- DSP图像算法库:VLIB/IMGLIB/VICPLIB/DSPLIB
- C++学习之迭代器
- 点击修改出一个框
- Python递归绘制分形树
- jdk-linux安装
- android Makefile and main.mk
- zookeeper安装配置
- python里list去重