RestEasy中@Produces/@Consumes注解放置及生效规则咨询
RESTEasy框架类级别
@Produces/@Consumes注解效力说明 这个规则在RESTEasy框架中完全适用。
RESTEasy是标准JAX-RS规范的实现,天然遵循JAX-RS定义的注解作用域规则:
- 标注在资源类上的
@Produces、@Consumes注解,会默认作用于类下所有端点方法 - 方法级别的同类型注解优先级高于类级别注解,如果某个端点单独标注了
@Produces/@Consumes,会覆盖类上的对应配置 - 注解配置支持继承,如果资源类实现了接口、或者继承了父类,父类/接口上标注的同类型注解也会被继承,优先级低于类自身的类级注解
针对给出的示例代码:
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8") @Consumes(MediaType.APPLICATION_JSON + ";charset=utf-8") class MyResource{ // endpoint 1 // endpoint 2 // endpoint 3 }
只要类下的3个端点没有单独定义自己的@Produces/@Consumes注解,所有端点都会默认遵循类上的配置:仅接收Content-Type为application/json;charset=utf-8的请求,所有响应统一返回UTF-8编码的JSON格式数据。
内容的提问来源于stack exchange,提问作者Toni26
相关产品推荐
相关产品推荐

