首页 > 解决方案 > 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')

标签: javaspringspring-el

解决方案


有一个工作表达式

#map(#requestInfo?.httpReferer?.split("m/")?.$[true], {'sso-login': 'External', 'www': 'Marketing', 'main/personal': 'Normal'}, 'Normal')

推荐阅读