RestEasy 2.3.4.Final'den yararlanarak bir REST API'si yazıyorum. Bir Interceptor'un tüm isteklerimi keseceğini ve bir PreProcessInterceptor'un çağrılacak ilk (her şeyden önce) olacağını biliyorum. Bu Interceptor'un sadece belirli yöntemler çağrıldığında nasıl çağrılacağını nasıl bilmek isterim.RESTEasy PreProcessInterceptor yalnızca belirli yöntemlerde nasıl kullanılır?
Hem PreProcessInterceptor hem de AcceptedByMethod kullanmayı denedim, ancak ihtiyacım olan parametreleri okuyamadı. Örneğin, ben bu yöntemi denir yalnızca benim Interceptor çalıştırmak gerekir:
@GET
@Produces("application/json;charset=UTF8")
@Interceptors(MyInterceptor.class)
public List<City> listByName(@QueryParam("name") String name) {...}
daha spesifik olmak gerekirse, ben kimin onun imzasına bir @QueryParam("name")
olan tüm yöntemlerde benim Interceptor çalıştırmak için gereken, Böylece ismini alıp her şeyden önce bir şeyler yapabilirim.
Mümkün mü? Interceptor'da "isim" parametresini yakalamaya çalıştım ama bunu yapamadım.
Birisi bana yardım edebilir mi lütfen? RESTEasy documentation
açıklandığı gibi
Thankyou @eiden. Bunu daha önce denedim, ama 'Context' kullanmadan. Ancak, enjekte edilen içerikten bazı verileri almaya çalıştığımda, bağlamın başlatılmadığı için bir Özel Durum atar. org.apache.catalina.core.ContainerBase. [Jboss.web]. [Varsayılan-ana bilgisayar]. [/ Api]] (MSC hizmeti iş parçacığı 1-3) Özel durum gönderme olayı, org.jboss sınıfının dinleyici örneğine başlatıldı .resteasy.plugins.server.servlet.ResteasyBootstrap: org.jboss.resteasy.spi.LoggableFailure: Bağlamsal veri türü bulunamadı: javax.servlet.http.HttpServletRequest – pulu
Neden @Context kullanıyorsunuz bilmiyorum? Her neyse, cevabımı – eiden
Excelent @eiden kod örneği ile güncelleştirdim. Neredeyse bu şekilde çalıştım, ama ben (annotation.annotationType() == QueryParam.class) { QueryParam queryParam = (QueryParam) ek açıklamasını gerçekleştirmedim; return queryParam.value(). Eşittir ("ad"); Çok Bana yardım ettiğin için teşekkürler! Ve umarım biraz daha insanlara yardımcı olur. – pulu