2016-02-09 2 views
0

Я натыкаюсь на небольшую деталь и хочу быть уверенным, что я не пропущу что-то очевидное.URL Параметр и конфигурация маршрутизации

Если я определяю маршрут, как это:

GET /Program      controllers.MyProgram.method(program ?= null) 

Параметр, передаваемый через

http://localhost:9000/Program?program=MyProgram 

является MyProgram

Однако я предпочел бы определить маршрут, как это:

GET /Program:program    controllers.MyProgram.method(program) 

Но тогда параметр передается через

localhost:9000/Program:MyProgram 

является : MyProgram.

Как я могу избавиться от : перед параметром?

Конечно, я мог бы удалить его вручную с Java/Scala, но это чувство, что я делаю что-то неправильно ...

ответ

1

Вы будете иметь, чтобы добавить регулярное выражение для толстой кишки:

GET /Program$colon<\:>:program  controllers.MyProgram.method(colon, program) 

Недостатком является то, что у вас есть избыточный параметр, входящий в ваш Action.

См: this answer

0

Я думаю, вам нужно отделить свой путь с помощью паров / в маршрутах например: /Program/:program К таким образом, вы можете избежать двоеточия как префикс в ваших парах полученных в методе Action.

Смежные вопросы