官术网_书友最值得收藏!

Filter and interceptors

JAX-RS 2.0 added ContainerRequestFilter and ContainerResponseFilter to modify the request context. It is executed around the method invocation but has already passed the method resolution. On a high level, it can be seen as a CDI interceptor but only at the HTTP layer. These filters do not impact significantly the performance until they do a lot of logic, and there are a few cases where it is a good place to put some logic. One very common example is to validate a security token or log in a user based on the HTTP headers. Don't be surprised to see this kind of component while investigating what your application is doing.

In the same spirit, ReaderInterceptor and WriterInterceptor intercept MessageBodyReader or MessageBodyWriter. They are intended to wrap the input/output streams to add some support such as GZIP compression. However, since we are close to the current I/O, we need to take care to not add too much logic here if the payloads are huge or if the algorithm is complex. In fact, since the stream operations are called very often, a badly implemented wrapper can affect the performance.

主站蜘蛛池模板: 海伦市| 东乡县| 南涧| 忻州市| 南木林县| 桂林市| 祁门县| 社旗县| 济南市| 喀喇| 广饶县| 平塘县| 云霄县| 陇西县| 大余县| 天峻县| 锡林浩特市| 光山县| 工布江达县| 张家港市| 军事| 左云县| 美姑县| 中卫市| 晋州市| 克什克腾旗| 砀山县| 安溪县| 卓资县| 青田县| 清流县| 灵寿县| 佛学| 含山县| 玉山县| 潮安县| 栖霞市| 邹城市| 云浮市| 晋宁县| 雅安市|