2016-03-25 1 views
0

J'essaie de gérer une requête contenant le mot "filtre". Pour le moment, je suis en utilisant l'URL comme http://localhost:9997/filter= ....Comment puis-je analyser une requête contenant le mot spécifique

et analyse syntaxique en utilisant pathPrefix (fiter)

Mais url change et devient comme http://localhost:9997/something../filter=

donc ici que je peux Ne prenez pas pathPrefix(). Comment puis-je gérer ce type de chemin dans le routage de sorte que toute URL contenant un mot-clé "filtre" qu'il peut gérer. Je suis très nouveau pour le spray akka. S'il vous plaît laissez-moi savoir vos opinions. Merci à l'avance

+0

S'il vous plaît laissez-moi savoir comment puis-je travailler sur cette question. Toutes vos suggestions seront appréciées et utiles pour résoudre ce problème. Tout exemple ou matériel sera bon. Merci. – user1548787

Répondre

0

Si la chaîne que vous voulez faire correspondre sera toujours à la fin, vous pouvez utiliser « pathSuffix » (il est peut-être suffisant pour ce que vous voulez)

pathSuffix("filter") { ... } 

Mais si elle peut être partout dans le chemin, n'est pas ce straighforward. Une façon est en utilisant des segments:

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

Mais il ne correspond pas si le filtre est à chaque extrémité: « filtre/bla/bla » ni « Balh/bla/filtre », mais vous pouvez travailler autour en faisant correspondre avec préfixe et suffixe. Je suppose qu'il y a un meilleur moyen, peut-être avec une directive personnalisée.

Jetez un oeil à http://spray.io/documentation/1.2.3/spray-routing/predefined-directives-alphabetically/#predefined-directives

+0

Merci pour votre réponse. – user1548787

+0

Pouvez-vous s'il vous plaît me dire dans les options 2ème chemin d'accès (Segment/"filtre"/segment), comment puis-je obtenir la demande uri. S'il vous plaît donnez-moi un exemple ou un exemple de code. Merci – user1548787