2016-03-25 21 views
0

Я пытаюсь обрабатывать запрос, содержащий слово «фильтр». В настоящее время, я использую URL, как http://localhost:9997/filter= ....Как я могу проанализировать запрос uri, содержащий определенное слово

и синтаксического анализа с помощью PATHPREFIX (fiter)

Но URL изменится и станет как http://localhost:9997/something../filter=

Так вот я могу 't взять pathPrefix(). Как я могу обработать такой путь в маршрутизации, чтобы любой URL-адрес, содержащий ключевое слово «filter», которое он может обрабатывать. Я очень новичок в спрей акка. Пожалуйста, дайте мне знать о ваших мнениях. Заранее спасибо

+0

Пожалуйста, дайте мне знать, как я могу работать над этим вопросом. Все ваши предложения будут оценены и полезны для устранения этой проблемы. Любой пример или материалы будут хорошими. Спасибо. – user1548787

ответ

0

Если строка, которую вы хотите, чтобы соответствовать всегда будет в конце концов, вы можете использовать «pathSuffix» (это может быть достаточно для того, что вы хотите)

pathSuffix("filter") { ... } 

Но если он может быть в любом месте путь, это не то, что простирается. Один из способов с использованием сегментов:

path(Segment/"filter"/Segment){ (prefix, postfix) => {...} } 

Но это не совпадает, если фильтр на обоих концах: «фильтр/ли/л», ни «Балй/л/фильтр», но вы можете работать вокруг пути сопоставления с префикс и суффикс. Я полагаю, что есть лучший способ, возможно, с помощью специальной директивы.

Посмотрите на http://spray.io/documentation/1.2.3/spray-routing/predefined-directives-alphabetically/#predefined-directives

+0

Благодарим вас за ответ. – user1548787

+0

Можете ли вы рассказать мне о двух вариантах: путь (сегмент/«фильтр»/сегмент), как я могу получить запрос uri. Пожалуйста, дайте мне пример или образец кода. Спасибо. – user1548787