正确书写方式如下:

1 RequestContext ctx =RequestContext.getCurrentContext();2 ctx.setSendZuulResponse(false);3 ctx.set("sendForwardFilter.ran", true);4 ctx.setResponseBody("返回信息");5 return null;

书写过程中遇到了阻塞特此记录.

springBoot集成的route拦截器包含下面三种.

一.zuul的SimpleHostRoutingFilter主要用来转发不走eureka的proxy

通过设置 ctx.setSendZuulResponse(false);使不进行路由

org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter#shouldFilter

public boolean shouldFilter() {

return RequestContext.getCurrentContext().getRouteHost() != null && RequestContext.getCurrentContext().sendZuulResponse();

}

二.zuul的SendForwardFilter处理路由规则中forward的本地跳转

通过设置  ctx.set("sendForwardFilter.ran", true);使不进行路由

org.springframework.cloud.netflix.zuul.filters.route.SendForwardFilter#shouldFilter

public boolean shouldFilter() {

RequestContext ctx = RequestContext.getCurrentContext();

return ctx.containsKey("forward.to") && !ctx.getBoolean("sendForwardFilter.ran", false);

}

三.zuul的RibbonRoutingFilter处理路由

通过设置 ctx.setSendZuulResponse(false);使不进行路由

org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter#shouldFilter

public boolean shouldFilter() {

RequestContext ctx = RequestContext.getCurrentContext();

return ctx.getRouteHost() == null && ctx.get("serviceId") != null && ctx.sendZuulResponse();

}

原文:https://www.cnblogs.com/yswb/p/12655087.html

zuul 路由不生效_springBoot集成zuul路由forward,设置setSendZuulResponse无效相关推荐

  1. SpringCloud:Zuul 路由访问(基本使用、路由功能、过滤访问、服务降级)

    在现在为止所有的微服务都是通过 Eureka 找到的,但是在很多的开发之中为了规范微服务的使用,提供有一个路由的处理控制组件:Zuul,也就是说 Zuul 就作为中间的一个代理层出现.2.1.Zuul ...

  2. 【SpringCloud深入浅出系列】SpringCloud组件之集成Zuul实现过滤器

    目录 一.Zuul 路由和过滤 二.Zuul 过滤器类型 (一)标准过滤器 1.pre 2.routing 3.post 4.error (二)特殊过滤器 1.StaticResponseFilter ...

  3. angularjs 让当前路由重新加载_Spring Cloud Gateway的动态路由怎样做?集成Nacos实现很简单...

    一.说明 网关的核心概念就是路由配置和路由规则,而作为所有请求流量的入口,在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启的,所以实现动态路由是非常有必要的:本文主要介绍 Spring Clo ...

  4. 微服务架构开发实战:如何集成Zuul和实现API网关?

    如何集成 Zuul 本节将基于Zuul来实现API网关.作为Spring Cloud 的一部分,集成Zuul会变得非常简单. Zuul简介 路由是微服务架构中必需的一部分,如""可 ...

  5. spring boot 集成Zuul

    spring boot 集成Zuul 1. 为什么需要Zuul 2. Zuul的工作原理 3. spring boot集成 3.1 创建 3.2 配置 3.3 注解 3.4 启动 3.5 指定url转 ...

  6. angular 前端路由不生效解决方案

    angular 前端路由不生效解决方案 参考文章: (1)angular 前端路由不生效解决方案 (2)https://www.cnblogs.com/weihanli/p/fix-angular-f ...

  7. 桥接路由器总是掉线_光猫集成了路由功能,路由器的路由功能会多余吗?

    答案是不多余. 首先,光猫与路由器的作用是大不相同的,光猫主要是信号转换,把光信号转换成数字信号:而路由器最主要的功能是进行网络信号的传输和分发,读取每一个数据包中的地址然后决定如何传送Wi-Fi信号 ...

  8. angularjs路由监听,uirouter感知路由变化,解决uirouter路由监听不生效的问题

    angularjs路由监听,uirouter感知路由变化,解决uirouter路由监听不生效的问题 参考文章: (1)angularjs路由监听,uirouter感知路由变化,解决uirouter路由 ...

  9. 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】

    [thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法] 参考文章: (1)[thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方 ...

最新文章

  1. CF533A Berland Miners
  2. UML用例图概要(转)
  3. GDataXMLNode:xml解析库
  4. 飞机上为啥禁止使用手机?
  5. manjaro 宝塔面板_宝塔Linux面板FTP无法连接的解决办法
  6. echarts堆叠图tooltip中如何仅展示鼠标当前位置相应的指标数据
  7. Floyd求传递闭包
  8. (计算机组成原理题目题型总结)第四章:指令系统
  9. keepalived高可用使用案例
  10. 开源GIS(十四)——openlayers通过geoserver中WFS更改要素
  11. mysql 秀出两个相关联的表中满足条件的内容_深入挖掘MySQL底层数据结构
  12. 渗透测试-安卓APP经验总结
  13. 【C语言】三子棋游戏详解
  14. 分布式服务架构读书笔记-第六章 Java服务的线上应急和技术攻关
  15. Matlab计算器设计
  16. 监控mysql锁定状态_mysql InnoDB锁等待的查看及分析
  17. MacBook通过XGP玩女神异闻录5皇家版不踩坑指南
  18. android 手机中boot.img基址的计算方法(zz)
  19. c语言中i++与++i的区别
  20. 百度医疗广告卷土重来_意见3d电视值得卷土重来的时间

热门文章

  1. 《20年后,你靠什么生存(孙继滨)》讲座观后感
  2. 得到INSERT和UPDATE中使用的值
  3. A Class For Executing MSSql Store Procedure
  4. 非阻塞connect的实现
  5. GRE核心词汇助记与精练-List11弯、折、扭
  6. MFC中下拉条(组合框)combo box的使用图文教程
  7. leetcode 6 Z 字形变换 c代码
  8. jmeter linux安装,Linux下安装Jmeter
  9. Java bitset转string_JAVA 假如String01010 我要怎样把它转成bitset?
  10. 手机上图片信息怎么拉一个矩形框_跟着黑鲨手机发布会学习PPT制作