【发布时间】:2014-05-20 13:38:07
【问题描述】:
在我的应用中,我在 Glassfish 服务器上使用 MOXy JAXB 和 JAX-RS (Jersey),
我有以下 REST 网络服务:
@Named
@RequestScoped
@Path("/product")
public class ProductService extends BaseServiceFacade<Product, Integer, ProductVO> {
@EJB(mappedName="java:global/myAppEAR/myAppEJB/ProductServiceRest")
ProductServiceRestRemote productServiceRestRemote;
// ...
@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/featuredlists")
public List<List<ProductVO>> featuredlists() {
return productServiceRestRemote.featuredlists();
}
}
当我尝试测试 REST 服务访问时: 本地主机:8080/atlanteusPortal/rest/product/featuredlists
我明白了:
java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class
at org.eclipse.persistence.jaxb.rs.MOXyJsonProvider.getDomainClass(MOXyJsonProvider.java:267)
如果我在方法返回之前放置一个调试断点,我可以看到 List<List<ProductVO>> chunkList 已填充但未转换为 JSON
有人可以指出使用 JAX-RS MOXy 和 Jersey 通过 JSON 发送 List<List<Object>> 类型的解决方案吗?
【问题讨论】:
标签: rest jaxb glassfish jax-rs moxy