当前位置: 首页 > 知识库问答 >
问题:

Java JAX-RS@PUT注释不继承

居琛
2023-03-14

我有一个抽象类,它声明@put方法:

public abstract class BaseResource<T> {

  @PUT
  @Consumes(MediaType.APPLICATION_JSON)
  @Produces(MediaType.APPLICATION_JSON)
  public abstract Response create(T entityClass);

}

然后一个类实现该方法:

public class GroupsResource extends BaseResource<Group> {

  @Override
  public Response create(Group newGroup) {

    // this works.
    // ...
    return response.build();

  }
}

更新:

我从零开始使用Java EE7,这很有效。

共有1个答案

居琛
2023-03-14

我在我的项目中遇到了同样的问题,我是这样解决的:

//Inject the object mapper because you don't want to retreive an "Object"
@Inject
ObjectMapper objectMapper;

@PUT
//The PUT endpoint retrieves a plain object
public Response update(Object object){
   //Now we determine the concrete type of the object by using reflection
   ParameterizedType p = (ParameterizedType) getClass().getGenericSuperclass();
   Class<DTO> clazz = (Class<DTO>) p.getActualTypeArguments()[0];

   //Pass the object and the determined type to the objectmapper
   DTO dto = objectMapper.convertValue(object, clazz);

   //Now call an abstract method that deals with the object in you concrete class
   updateDto(dto);
}

protected abstract Response updateDto(DTO dto);
 类似资料:
  • 本文向大家介绍Java继承的注释,包括了Java继承的注释的使用技巧和注意事项,需要的朋友参考一下 示例 默认情况下,类注释不适用于扩展它们的类型。可以通过将@Inherited注释添加到注释定义中来更改 示例 请考虑以下2个注释: 和 如果这样注释了三个类: 运行此代码 将打印与此类似的结果(取决于注释的包): 请注意,注释只能从类继承,而不能从接口继承。

  • 问题内容: 我有以下class和web.xml文件。spring框架是否支持jax-rs注释,如和,…等。 换句话说我可以代替 Java: web.xml 问题答案: 不,您不能在春季使用批注。您可以在spring上使用类似的东西。这很容易。如果需要,我可以提供一个示例。(Jersey和CXF也具有良好的JAX- RS实现。) AFAIK Springsource不知道要提供JAX-RS的实现。因

  • 我对Jackson注释有一个问题,在《大部头1》中似乎被忽略了。我使用Jackson将REST响应序列化为JSON。我打开了设置: openejb。cxf。jax-rs.providers=org。科德豪斯。杰克逊。jaxrs。JacksonJsonProvider在系统中。属性 Jackson序列化工作正常,除了所有似乎被完全忽略的Jackson注释。事件像@JsonIgnore或@JsonPr

  • 我能以某种方式将一组注释分组到一个抽象类上,并且每个扩展该类的类都自动分配了这些注释吗? 至少以下内容不起作用:

  • 如何使用注释在Spring中提供bean继承?在XML配置中,我使用了

  • 我有一个带有注释方法的接口。注释用标记,所以我希望实现者继承它。然而事实并非如此: 所以问题是,为什么没有,尽管它实现了一个标记为的方法,即?