java - Spring Expression 语言 - 基于 url 映射值(基于没有主机和端口的路径)
问题描述
我正在尝试在 SpEL(Spring 表达式语言)中映射一个值。
我需要根据 url 路径映射某些值
https://www1.qa4.testsite.com/sso-login : External
https://www1.qa4.testsite.com/www : Normal
https://www.testsite.com/main/personal : Marketing
除了检查整个字符串值之外,实现该值的表达式是什么。需要表达式来检查路径('sso-logn' , 'www' , 'main/personal')
#map(#requestInfo.httpReferer, {'https://www1.qa4.testsite.com/sso-login': 'External', 'https://www.testsite.com/main/personal': 'Marketing', 'https://www1.qa4.testsite.com/www': 'Normal'}, 'Normal')
解决方案
有一个工作表达式
#map(#requestInfo?.httpReferer?.split("m/")?.$[true], {'sso-login': 'External', 'www': 'Marketing', 'main/personal': 'Normal'}, 'Normal')
推荐阅读
- android - 有恶意的人可以使用我的 Google App Signing 上传密钥做什么?
- ios - Xamarin Forms ListView 选择背景在项目背景上绘制
- sql - 如何对具有相同名称的列执行 INNER JOIN
- webpack - Nativescript 6 代码共享项目和懒加载模块
- c++ - static_cast 有什么区别
(i) 和 size_t(i) 在 std::vector 构造函数中? - python-3.x - pyspark:查找有条件的行之间的时间差异
- javascript - 为什么“1 << 32”在Javascript中等于1
- java - Spring 安全性不允许使用简单的匹配器和 permitAll 进行访问
- python - 这两种神经网络结构有什么区别?
- azure-machine-learning-service - Azure ML SDK DataReference - 文件模式 - 许多文件