2014-12-20 8 views
7

vs ben filtreler isteği işlemek için kullanılır ve http başlığı ve httpmethods ile şeyler yapabilirsiniz biliyordu, amaClientrequestfilter Containerrequestfilter

clientrequestfilter ve containerrequestfilter arasındaki fark nedir ile karıştırılmamalıdır ben? Hangi senaryoda clientrequestfilter ve containerrequestfilter kullanmak zorundayız?

Bu konuda herhangi bir ayrıntı this website ile değil çalıştı.

bu anlamama yardım edin.

cevap

10

REST etkileşim, istemci ve sunucuya iki yan vardır. Jersey/JAX-RS-2'nin hem bir İstemci API'si hem de "ana" Sunucu tarafı API'sı vardır. İstemci API'sı ile çalışırken, ClientRequestFilter kullanabiliriz ve Sunucu Tarafı API'sini kullanırken, ContainerRequestFilter kullanırız. Bunları karıştırıp eşleştirmenin imkanı yoktur, kesinlikle etkileşimin uygun tarafıyla kullanılmalıdır.

A ContainerRequestFilter (Sunucu Tarafı) örnekte bazı yetki/kimlik doğrulama, sunucu tarafında filtresi için oldukça genel kullanımını yapmak olacaktır. Filtre bazı istemci tarafı önbelleği (bir tarayıcı önbelleği alay çeşit) uygulamak olacaktır kaynaklarınızın

Client ---> Internet ---> Server ---> Filter ---> Resource 

A ClientRequestFilter (İstemci Tarafı) örneği

herhangi ulaşmadan önce çağrılır. Ya da (zaten uygulanmış olan) bir durum, BASIC kimlik doğrulaması için bir kullanıcı adı ve şifresini kodlayan bir filtredir. İstek gerçekten sunucuya gönderilmeden önce, istemci filtresi çalıştırılacaktır.

Client ---> Filter ---> Internet ---> Server ---> Resource 

ayrıca aşağıdaki akışı anlamına gerçekten yararlı oldu

Resource ---> ContainerResponseFilter ---> Server ---> Internet ---> Client 

Server ---> Internet ---> ClientResponseFilter ---> Client 
+0

Teşekkür izleyin XxxResponseFilters vardır. – sunleo