首页 > 解决方案 > 如何禁用每个端点的 GZipEncoder?

问题描述

我有浏览器命中的端点,这些端点总是提供“gzip”接受的编码。但是,对于某些端点,我想避免 gzip 所需的额外 cpu 处理(它们正在返回已经压缩的数据)。有没有办法向 GZipEncoder 发出“我不希望它应用于这些端点”的信号?

标签: javajersey-2.0

解决方案


我通过创建一个 DynamicFeature 和注释解决了这个问题,当它们组合在一起时,会删除 gzip、br 和 deflate 的接受编码。我不确定这是否是最好的方法,但它有效。

文档

https://docs.oracle.com/javaee/7/api/javax/ws/rs/container/DynamicFeature.html

我遵循的例子

https://github.com/jersey/jersey/blob/master/core-server/src/main/java/org/glassfish/jersey/server/filter/RolesAllowedDynamicFeature.java


推荐阅读