2015-11-26 5 views
0

Я пишу restful webservice, и мне нужно написать серверный сервер сервера REST с аннотацией привязки статического имени. У меня есть два фильтра с фильтром, аннотация @one, а у другого фильтра есть аннотация @two. Мне нужно разместить эти две аннотации на сайтах Rest Webservices.Фильтр отдыха с аннотацией

@one 
@two 
public String getName() 
{ 
return "xyz"; 
} 

Логик первого фильтра является то, что он будет проверять определенное состояние «говорит, условие А», то только это позволит запросу ударить этого покой и логику второго фильтра является то, что он будет проверять определенные условия «говорит условие B ", то только это позволит запросить ударить по этому остатку. Но у меня есть ситуация, когда выполняется любое из этих двух условий A или B, а также запрос ударит по этому остатку. Если какое-либо условие будет подтверждено, то и запрос ударит по этим веб-службам, можете ли вы сказать, как это сделать?

+1

Параметр 'NamingConvention' для аннотации такая же, как и для классов и интерфейсов Btw. – zapl

ответ

0

Начинать читать this Ссылка для ознакомления с порядком выполнения фильтра и перехватчиков. Есть @Priority() для управления порядком исполнения фильтра и перехватчиков. Также взгляните на ссылку this.

И конечно this частей вам нужно прочитать:

В случае регистрации более фильтров и перехватчиков вы можете определить точный порядок, в котором они должны быть вызваны. Порядок может управляться аннотацией @Priority, определенной классом javax.annotation.Priority. Аннотации принимают целочисленный параметр приоритета. Провайдеры, используемые при обработке запросов (ContainerRequestFilter, ClientRequestFilter), а также перехватчики объектов (ReaderInterceptor, WriterInterceptor) сортируются на основе приоритета по возрастанию. Таким образом, фильтр запроса с приоритетом, определенным с помощью @Priority (1000), будет выполнен перед другим фильтром запроса с приоритетом, определяемым как @Priority (2000). Провайдеры, используемые во время обработки ответа (ContainerResponseFilter, ClientResponseFilter), выполняются в обратном порядке (по убыванию), поэтому поставщик с приоритетом, определенным с помощью @Priority (2000), будет выполнен перед другим провайдером с приоритетом, определенным с помощью @Priority (1000) ,

https://jersey.java.net/apidocs-javax.jax-rs/2.0.1/javax/ws/rs/Priorities.html

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