我有一个抽象类,它声明了一个@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();
}
}
使用 GET 方法的类似代码可以工作,但是这个代码被405 Method Not Allowed拒绝。但是,如果我用它来注释实现@PUT
确实有效。因此,抽象声明上的 @PUT 注释似乎没有被继承。
有什么想法吗?
更新:
我从头开始使用 Java EE7,效果很好。