【问题标题】:JAX-WS RS with Apache CXF - GZIP Compression带有 Apache CXF 的 JAX-WS RS - GZIP 压缩
【发布时间】:2014-05-31 01:13:47
【问题描述】:

我正在使用 JAX-RS 和 Apache CXF 创建一个 RESTFul WS。我希望能够压缩返回的数据。我的代码示例是:

 @POST  
 @Path("testGZIPMethod")
 @GZIP
 @Produces(MediaType.APPLICATION_JSON)  
 public String testGZIPMethod(@FormParam("userinput")String userinput)  
 {
     //return JSON String
 }

当我尝试使用 JDev 编译我的类时,我收到以下错误:注解类型不适用于这种声明。导致此错误的注释是@GZIP。知道从这里开始的地方吗?

【问题讨论】:

  • 根本没有 Stacktrace。简单一句:“Error(2953,6): annotation type not applicable to this kind of declaration”
  • 尝试将@GZIP添加到类而不是方法中

标签: java rest jax-ws cxf gzip


【解决方案1】:

@GZIP 注解只能应用于类型,不能应用于方法:

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
public @interface GZIP {
    int threshold() default -1;
}

【讨论】:

  • 您能详细说明一下吗?你的意思是注释应该在类而不是方法的级别?
  • 是的。 @GZIP 是用目标“TYPE”定义的。它不能用于注释“方法”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 2013-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多