Как узнать, соответствует ли URL определенному PATH - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь выполнить некоторую логику в фильтре Java в зависимости от того, соответствует ли URL-адрес запроса определенной переменной PATH. Мы хотим использовать что-то вроде PathMatcher в Java, а не Regex. Кроме того, в явном виде указывается «нет» для использования Spring, поэтому SpringMath PathMatcher не является опцией.

Например, указан следующий URL:
http://localhost:8080/base_path/customer/{PARAM_VAL1}/order/{PARAM_VAL2}

Я пытаюсь заставить IF вернуть true:

PathMatcher pm = new SomeURLPathMatcherImp("/base_path/customer/*/order/*");

myURI = "/base_path/customer/customer001/order/98536"

if ( pm. matches(myURI) ){
    myFunction();
}

ПРИМЕЧАНИЕ. Я использовал PathMatcher для отображения проблемы. Я хочу знать, есть ли какая-либо библиотека API, кроме Spring, для выполнения сопоставления URL PATH, аналогичная реализации класса Java FileSystem

1 Ответ

0 голосов
/ 11 апреля 2019
PathMatcher pm = FileSystems.getDefault().getPathMatcher("glob:/base_path/customer/*/order/*");

System.out.println(pm.matches(Paths.get("/base_path/customer/customer001/order/98536")));  // true
System.out.println(pm.matches(Paths.get("/base_path/customer/customer001/order")));        // false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...