第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

教你在Zuul中增加Filter過濾請求

標(biāo)簽:
Java Spring Cloud

上一篇中,我们介绍了如何使用Zuul反向代理请求,这一篇我们介绍如何在Zuul中增加Filter来过滤请求,我们的示例也是延用上一篇的示例,没有看过上一篇的小伙伴们,请先阅读上一篇教你使用Zuul反向代理访问微服务

Zuul过滤器

Zuul的过滤器有4中标准的类型,分别如下:

  • pre:在请求被转发之前,执行过滤器
  • **route:**过滤器可以处理实际的请求转发
  • post:在请求被转发之后,执行过滤器
  • error:在请求被转发时发生错误,执行过滤器

我们将会写一个“pre”类型的过滤器,给大家示例,其他类型的过滤器大同小异,大家可以私下自己练习。

ZuulFilter

首先我们要创建一个Filter继承ZuulFilter,并在Spring的配置中实例化这个Bean。具体如下:

public class SimpleFilter extends ZuulFilter {  
 @Override  
 public String filterType() {  
 return "pre";  
 }  
  
 @Override  
 public int filterOrder() {  
 return 1;  
 }  
  
 @Override  
 public boolean shouldFilter() {  
 return true;  
 }  
  
 @Override  
 public Object run() throws ZuulException {  
 RequestContext ctx = RequestContext.getCurrentContext();  
 HttpServletRequest request = ctx.getRequest();  
 System.out.println(String.format("Zuul的pre类型过滤器 : %s request to %s",   
 request.getMethod(),  
 request.getRequestURL().toString()));  
  
 return null;  
 }  
}  
  • filterType()方法返回的是过滤器的类型,这里我们返回的“pre”,说明过滤器的类型是“pre”类型。
  • filterOrder() 返回的是过滤器的执行顺序,当有多个过滤器时,这个值将决定过滤器的执行顺序。
  • shouldFilter() 返回true或false,标识着这个过滤器是否执行。当然我们可以在这个方法中增加一些逻辑,当满足某些条件时,执行这个过滤器。
  • run() 方法是过滤器的具体执行方法。

启动类中实例化Filter

过滤器的类我们已经写好了,接下来,我们在启动类中,用java config的方式配置这个类,如下:

@SpringBootApplication  
@EnableZuulProxy  
public class ZuulApplication {  
 public static void main(String[] args) {  
 SpringApplication.run(ZuulApplication.class, args);  
 }  
 @Bean  
 public ZuulFilter simpleFilter(){  
 return new SimpleFilter();  
 }  
}  

下面我们启动微服务和Zuul反向代理两个应用,如果你不知道微服务是哪个应用,请参考上一篇教你使用Zuul反向代理访问微服务。然后我们在浏览器中访问http://localhost:8080/micro/hello,显示结果如下:

图片描述

说明请求已经转发成功了,我们再看看Zuul服务的后台日志:

图片描述

我们过滤器的日志也打印出来了。

总结

通过Zuul的过滤器,我们可以在转发的过程中增加一些业务操作,比如请求次数的统计等。今天就给大家介绍到这里,有问题评论区留言哦~~

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消