spring cloud zuul修改请求url的方法

发布时间 - 2026-01-11 03:12:10    点击率:

前言

在日常开发中,除了修改请求参数、设置响应header,响应body外,还有一种需求就是url重新,或者是修改url,这里简述一下怎么在zuul修改url。话不多说了,来一起看看详细的介绍吧。

转发配置

demo:
 ribbon:
 NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList
 listOfServers: 192.168.99.100,192.168.99.101
zuul:
 routes:
 demo:
  path: /demo/**
  stripPrefix: true
  serviceId: demo

filter配置

@Component
public class UrlPathFilter extends ZuulFilter{

 @Override
 public String filterType() {
  return FilterConstants.PRE_TYPE;
 }

 @Override
 public int filterOrder() {
  return FilterConstants.PRE_DECORATION_FILTER_ORDER + 1;
 }

 @Override
 public boolean shouldFilter() {
  final String serviceId = (String) RequestContext.getCurrentContext().get("proxy");
  return "demo".equals(serviceId);
 }

 @Override
 public Object run() {
  RequestContext context = RequestContext.getCurrentContext();
  Object originalRequestPath = context.get(FilterConstants.REQUEST_URI_KEY);
  //http://localhost:10000/demo/list/data
  //-->/api/prefix/list/data
  String modifiedRequestPath = "/api/prefix" + originalRequestPath;
  context.put(FilterConstants.REQUEST_URI_KEY, modifiedRequestPath);
  return null;
 }
}

这样就大功告成了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

doc

PreDecorationFilter

Dynamically re-route all Zuul proxied requests to single URL


# spring  # cloud  # zuul  # springcloud  # zuul作用  # url  # zuul转发后服务取不到请求路径的解决  # SpringBoot2.0整合SpringCloud Finchley @hystrixcomman  # SpringCloud URL重定向及转发代码实例  # springcloud部署提示 找不到url的解决  # 说了  # 不多  # 有一定  # 或者是  # 大功告成  # 这篇文章  # 谢谢大家  # 有疑问  # ConfigurationBasedServerList  # path  # loadbalancer  # listOfServers  # routes  # public  # Component  # UrlPathFilter  # ZuulFilter  # extends  # Override  # stripPrefix 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: js代码实现下拉菜单【推荐】  海南网站制作公司有哪些,海口网是哪家的?  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  详解Android中Activity的四大启动模式实验简述  利用JavaScript实现拖拽改变元素大小  Swift中switch语句区间和元组模式匹配  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何快速生成橙子建站落地页链接?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  黑客如何通过漏洞一步步攻陷网站服务器?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel怎么在Blade中安全地输出原始HTML内容  米侠浏览器网页背景异常怎么办 米侠显示修复  什么是javascript作用域_全局和局部作用域有什么区别?  如何在阿里云高效完成企业建站全流程?  如何正确下载安装西数主机建站助手?  黑客如何利用漏洞与弱口令入侵网站服务器?  javascript中对象的定义、使用以及对象和原型链操作小结  Firefox Developer Edition开发者版本入口  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  详解Oracle修改字段类型方法总结  如何用免费手机建站系统零基础打造专业网站?  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Python面向对象测试方法_mock解析【教程】  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  利用vue写todolist单页应用  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  智能起名网站制作软件有哪些,制作logo的软件?  如何撰写建站申请书?关键要点有哪些?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何将凡科建站内容保存为本地文件?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何在Windows 2008云服务器安全搭建网站?  三星网站视频制作教程下载,三星w23网页如何全屏?  WordPress 子目录安装中正确处理脚本路径的完整指南  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Laravel如何实现API资源集合?(Resource Collection教程)  canvas 画布在主流浏览器中的尺寸限制详细介绍  如何解决hover在ie6中的兼容性问题  如何在宝塔面板中修改默认建站目录?