java - Jersey 客户端检索具有泛型类型的对象列表

标签 java jersey moxy

我正在开发一个 API 的客户端,该 API 可以对各种对象执行搜索。所有搜索函数都会返回如下所示的对象列表:

{
   score : ...
   object : {}
}

分数是结果的相对程度,对象是对象本身。我想做的是实现 Result<T> POJO 可以使用 Jersey/MOXy 处理各种不同对象的结果,但我不确定如何做到这一点(或者是否可能)。想法?

我尝试创建 Result带有 T item 的对象属性,用 @XmlAnyElement 注释它并使用 response.readEntity(new GenericType<List<Result<Object>>>(){}); 进行解码但它总是返回 null。

最佳答案

呃...事实证明我的方法是正确的。我的对象没有使用 @XmlRootElement 进行注释,因为其他调用中不需要它。这会将对象保留为 ElementNSImpl。所以我的问题的答案基本上就在问题中。还必须将 @XmlAnyElement(lax=true) 添加到 T 属性。

关于java - Jersey 客户端检索具有泛型类型的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33613384/

相关文章:

java - 提取服务器证书

java - 将Odata查询转SQL语句java

java - 未设置 Set-Cookie header

Java : Catch exception in different thread

java - JAXB 2.x : Abstract methods get marshalled as Attribute

java - 在 JBoss 中使用 MOXy 创建 JAXBContext 时出现 StackOverflow 错误

java - 启动后立即关闭 Spring Boot 应用程序

java - 为什么以及如何使用 JShell?

java - 如何在 Jersey 调用之前获取与 URI 匹配的资源方法?

java - 在动态 JSON 中序列化 null 和空字符串