我想去 {testId : 111}
从…起 /v1/testId/111
示例url。
我知道如果使用 request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE)
方法。
但是,过滤器是在servlet之前执行的。
所以,, request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE)
方法不可用(参考:如何在spring筛选器中获取路径变量?)
有没有办法在筛选器中检索路径变量?
或者,有没有任何方法可以在没有 request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE)
方法?
一串 /v1/testId/111
实际上是可用的,我打算从中提取111。
1条答案
按热度按时间t0ybt7op1#
您正在寻找lastindexof,一种
String
.String string = "/v1/testId/111/userId/222";
String[] parts = string.split("/");
for (int index = 0; index < parts.length; index++) {
if (isNumeric(parts(index))) {
//Do something with these values as you please
String entityName = parts[index - 1];
String entityValue = parts[index];
}
}
```
isNumeric
其实施方式如下:礼貌地https://www.baeldung.com/java-check-string-number