spring-cloud-gateway - 在 Spring Cloud Gateway 中清理请求 URI
问题描述
我想在使用 Spring Cloud Gateway 时清理部分 uri。
例如:http://localhost:8080//login。
在此示例中,即使在 Spring Gateway 尝试为此请求找到合适的路由之前,我也想用单斜杠删除双斜杠。
使用全局过滤器是正确的方法吗?或者是否有任何其他钩子可以用来拦截请求并修改 uri?
解决方案
我创建了一个过滤器类,它实现org.springframework.web.server.WebFilter
并将其注册为 Spring bean。
现在这个过滤器甚至在 Spring Gateway 尝试匹配路由之前就被调用了。这样我就能够清理请求 URI。我看着RewritePathGatewayFilterFactory
灵感。
推荐阅读
- html - 翻转卡背面在 mac os 中始终为白色,在 windows 和 ubuntu 上工作正常
- javascript - 使用 javascript 从数组中设置类的背景图像失败
- python - 如何渲染 QGraphicsScene 的一部分并将其保存为图像文件 PyQt5
- r - 使用 dplyr 收集特定的虚拟变量
- php - 如果用户输入数字值 - 根据该数字更改成分?
- java - Spring Boot:禁用 Spring Boot 单元测试的安全性
- blueprism - 我已经输入了输入,但是在通过蓝色棱镜为基于浏览器的应用程序运行自动化时,单击提交再次要求输入
- java - 如何使用 PDFBox PDInlineImage
- ldap - 修复多个 slap_global_control: unrecognized control: in syslog
- java - 如何使用 Java 流从一组对象中提取不同整数的排序列表?