Java Restlets - соответствует произвольно длинному параметру пути URI - PullRequest
2 голосов
/ 15 февраля 2011

Используя Рестлеты , вы можете маршрутизировать URI, используя систему, основанную на спецификации шаблона URI .Я хочу иметь возможность маршрутизировать URI, которые соответствуют следующему шаблону

http://www.blah.com/something/...arbitrarily long path.../somethingelse/

Итак, следующие два URI будут сопоставляться и маршрутизироваться одинаково:

http://www.blah.com/something/a/b/c/d/somethingelse/

and:

http://www.blah.com/something/z/y/x/w/v/somethingelse/

Как этого добитьсяиспользуя Restlets?

Приветствия,

Пит

1 Ответ

2 голосов
/ 15 февраля 2011

Самым распространенным способом настройки маршрутов является использование маршрутизатора, например:

router.attach("/path/to/resource", MyResource.class);

присоединение возвращает маршрут , который имеет метод setMatchingMode , так что вы можете сделать это:

router.attach("/path/to/resource", MyResource.class).setMatchingMode(Template.MODE_STARTS_WITH);

Это устанавливает маршрут, соответствующий любому URL, который начинается с предоставленного шаблона.

Надеюсь, этого достаточно для ваших нужд.Я не знаю ни одного встроенного способа сопоставления URL-адресов с определенным префиксом и конкретным суффиксом.Но если это именно то, что вам нужно, вы, вероятно, могли бы реализовать свой собственный подкласс Template, Route и т. Д. (Я не уверен, что будет необходимо.)

Я почти уверен, что маршрутизация на основе регулярных выражений имеетобсуждалось в списке рассылки Restlet;Вы можете искать там.

...