Я использовал Джерси в течение большей части года и только что наткнулся на проблему, на которую я не могу найти ответ: как вы перехватите (или зацепите) жизненный цикл запроса Джерси?Как перехватить запрос во время жизненного цикла Джерси?
В идеале, я мог бы выполнить некоторую пользовательскую фильтрацию/проверку/отклонение между временем, в течение которого контейнер принимает запрос из сети, и временем, когда вызываются методы моего обработчика. Бонусные точки, если есть простой способ фильтрации перехватчиков по подпутью (например, есть один перехватчик для чего-либо под /, другой для чего-либо под/user/и т. Д.).
Спасибо!
Редактировать: Чтобы быть немного понятнее, общая идея здесь - написать код, который будет запущен для многих вызовов API без необходимости явного вызова этого кода из каждого метода обработчика. Это уменьшило бы дополнительный код и устранило бы необходимость передавать контексты запросов.
Какая фильтрация, проверка, отклонение вы хотите? Например, вы можете создать свой собственный MessageBodyWriter/Reader для проверки валидации. Или вы можете установить @Context в конструкторе для пользовательского разбора HTTP-заголовков или разбора URI. – Marc 2010-12-05 09:53:34
Большинство приложений этой функции будут связаны с безопасностью. Например, мое (не-Джерси) веб-приложение будет генерировать одноразовые nonces для определенных вызовов AJAX (все под тем же путем) до Джерси. Перехватчик будет отвечать за проверку действительности этого nonce. – cww 2010-12-05 10:04:51
@Marc вы можете рассказать немного больше о «Или вы можете установить @ Контекст в конструкторе для пользовательского анализа заголовков HTTP или партирования URI», пожалуйста? – Mat 2012-12-20 15:42:55