Сомнения в использовании Symfony2 Routing

Я настраиваю FOSRestBundle и у меня есть некоторые сомнения, не знаю, связано ли это с компонентом Symfony2 Routing или это можно сделать любым другим способом. Вот,

1) Как я могу проверить, если X-PDONE-SESSION-ID устанавливается по заголовкам запроса перед выполнением метода? Можно ли это сделать с помощью аннотаций по маршрутизации? Есть идеи как это проверить?

2) Мне нужно использовать этот RegEx \b(?:(?:https?):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|] как requirements в пути @QueryParam(name="token", requirements="") для проверки действительных URL-адресов, как?

я прочитал Вот а также Вот но не помогло вообще.

0

Решение

(1) может быть сделано с использованием метода, описанного в статья в книге, на которую вы ссылаетесь как на бесполезную:

Как вы уже видели, маршрут может быть создан для соответствия только определенным групповым символам маршрутизации (через регулярные выражения), HTTP-методам или именам хостов. Но система маршрутизации может быть расширена, чтобы иметь почти бесконечную гибкость, используя условия:

обращайтесь:
путь: / контакт
значения по умолчанию: {_controller: AcmeDemoBundle: Main: contact}
условие: «context.getMethod () в [‘GET’, ‘HEAD’] и request.headers.get (‘User-Agent’) соответствует ‘/ firefox / i'»

Условие является выражением, и вы можете узнать больше о его синтаксисе здесь: Синтаксис выражения. При этом маршрут не будет совпадать, если метод HTTP не является либо GET, либо HEAD, и если User-Agent Заголовок соответствует Firefox.


В (2) вы показываете регулярное выражение для полного URL, а не просто параметр запроса. Насколько я знаю, невозможно изменить все регулярные выражения, используемые компонентом маршрутизации по умолчанию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]