java - 使用 Jersey 默认实现 : MOXy 反序列化多态类型

标签 java json jersey moxy jsonschema2pojo

我的所有实体都继承自名为 EntidadeBase 的类:

@MappedSuperclass
public abstract class EntidadeBase implements Serializable {

private static final long serialVersionUID = -3912856473903279467L;

@Id
@QueryParam("id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
@PodamStrategyValue(value = NullStrategy.class)
private Long id;

@Column(name = "cadastro_data", nullable = false)
@PodamStrategyValue(value = PastDateStrategy.class)
private LocalDate dataCadastro;

@Column(name = "modificado_data", nullable = false)
@PodamStrategyValue(value = PastDateStrategy.class)
private LocalDate dataModificacao;

@QueryParam("modificado")
@Column(nullable = false)
@PodamBooleanValue(boolValue = false)
private Boolean modificado;

@QueryParam("ativo")
@Column(nullable = false)
@PodamBooleanValue(boolValue = true)
private Boolean ativo;
}

它是部署在 tomcat 8 上的 JAX-RS/Jersey Web 服务,实际上使用默认的 Jersey impl 进行 POJO 绑定(bind):MOXy。

我的问题是,例如,当我发送其中包含 JSON 实体的 PUT 请求时,EntidadeBase 字段不会解析为我的 EndPoint 对象

这是一个例子:

@PUT
@Override
@Transactional(qualifier = ForTransaction.class)
public Response atualizar(@NotNull Abrangencia entidade) {
    return super.atualizar(entidade);
}

我怎样才能让 MOXy 解析 JSON 值到继承的父类(super class)的字段?

最佳答案

首先,here据说,您应该添加依赖项以启用 MOXy:

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-moxy</artifactId>
    <version>2.16</version>
</dependency>

然后,here您可以看到将 MOXy 与 Jersey 结合使用的示例。您需要解析的 Bean 应该具有根注释 @XmlRootElement(即使对于 JSON:))。另外,类的可序列化成员应该在类中定义 getter 和 setter。

关于java - 使用 Jersey 默认实现 : MOXy 反序列化多态类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887647/

相关文章:

java - DateTimeFormatter 用区域偏移量和时区解析字符串

javascript - 使用 javascript 获取 JSON 关键文本

javascript - 将大型 JSON 文件从 javascript 发送到 php 的好方法是什么?

java - Jersey REST WS 错误 : "Missing dependency for method... at parameter at index X"

java - Jersey 客户端语法错误请求错误

java - 使用 java reflect 找出两个类是否属于同一类型(类、接口(interface)、枚举等)

java - 将对象附加到android中的现有文件

java - 使用jsoup提取表格的特定单元格

python - 如何在django中序列化多种类型的对象以进行json转换?

java - html 服务器 grizzly+jersey(.jar 存档中的 .html)