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

马科斯(Marcos JC Kichel)

我所有的实体都继承自一个名为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绑定:MOXy。

我的问题是,例如,当我发送带有JSON实体的PUT请求时,EntidadeBase字段未解析为我的EndPoint对象

这里是一个例子:

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

我如何设法使MOXy将JSON值解析为继承的超类的字段?

马科斯(Marcos JC Kichel)

在花了一些时间尝试修复实体之后,我使用了另一个类似的原型进行了测试,该原型使用Wildfly 8.2 Impl来实现Java EE 7功能(RestEasy用于JAX-RS,而Jackson则用于Json-Pojo Bind)和相同的实体/资源/ repository原型,它就像一个魅力。然后我意识到问题出在MOXy,所以我将项目配置为使用Jackson。

我修改了pom.xml来替换它:

<!-- MOXy -->
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-moxy</artifactId>
    <version>${moxy.version}</version>
</dependency>

有了这个:

<!-- Jackson -->
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>${jackson.version}</version>
</dependency>

并将此init参数添加到我的web.xml中:

 <servlet>
    <servlet-name>jax-rs</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

    <init-param>
       <param-name>org.glassfish.jersey.config.property.packages</param-name>
       <param-value>com.fasterxml.jackson.jaxrs</param-value>
    </init-param>

    ...

现在它可以工作了(-;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多态类型的反序列化,默认设置为Jersey:MOXy

来自分类Dev

用Jackson反序列化多态类型

来自分类Dev

杰克逊反序列化的多态类型

来自分类Dev

使用杰克逊使用@JsonUnwrapped反序列化多态类型

来自分类常见问题

使用json.net反序列化没有类型信息的多态json类

来自分类Dev

使用杰克逊2.5.4 jar反序列化包含property属性的多态类型

来自分类Dev

使用杰克逊注释反序列化多级多态子类型

来自分类Dev

Tricky(?)JSON,多态反序列化

来自分类Dev

Java多态Json反序列化

来自分类Dev

使用Jersey和Jackson进行Map的序列化和反序列化

来自分类Dev

杰克逊反序列化多态类型不受我的控制

来自分类Dev

使用递归类型反序列化json

来自分类Dev

使用Avro嵌套特定类型的反序列化

来自分类Dev

使用Avro嵌套特定类型的反序列化

来自分类Dev

反序列化接口的实现

来自分类Dev

AvalonDock使用默认布局序列化和反序列化时不呈现布局

来自分类Dev

使用其他类型序列化/反序列化System.Object

来自分类Dev

使用Json.NET对混合类型的数组进行序列化/反序列化

来自分类Dev

如何使用XStream序列化/反序列化类型层次结构中的对象?

来自分类Dev

使用其他类型序列化/反序列化System.Object

来自分类Dev

启用/禁用Moxy序列化的字段,默认禁用

来自分类Dev

如何使用杰克逊(Jackson)和默认类型对一个EnumMap进行反序列化?

来自分类常见问题

使用Gson-extras使用瞬态变量反序列化多态JSON

来自分类Dev

如何配置Jackson以默认类型反序列化命名类型?

来自分类Dev

如何实现将复杂类型序列化/反序列化为简单类型的 Newtonsoft JSON 转换器

来自分类Dev

使用Json.Net的多态JSON反序列化失败

来自分类Dev

多态WCF反序列化不起作用

来自分类Dev

Jackson对多态对象的自定义反序列化

来自分类Dev

在GSON中反序列化递归多态类

Related 相关文章

  1. 1

    多态类型的反序列化,默认设置为Jersey:MOXy

  2. 2

    用Jackson反序列化多态类型

  3. 3

    杰克逊反序列化的多态类型

  4. 4

    使用杰克逊使用@JsonUnwrapped反序列化多态类型

  5. 5

    使用json.net反序列化没有类型信息的多态json类

  6. 6

    使用杰克逊2.5.4 jar反序列化包含property属性的多态类型

  7. 7

    使用杰克逊注释反序列化多级多态子类型

  8. 8

    Tricky(?)JSON,多态反序列化

  9. 9

    Java多态Json反序列化

  10. 10

    使用Jersey和Jackson进行Map的序列化和反序列化

  11. 11

    杰克逊反序列化多态类型不受我的控制

  12. 12

    使用递归类型反序列化json

  13. 13

    使用Avro嵌套特定类型的反序列化

  14. 14

    使用Avro嵌套特定类型的反序列化

  15. 15

    反序列化接口的实现

  16. 16

    AvalonDock使用默认布局序列化和反序列化时不呈现布局

  17. 17

    使用其他类型序列化/反序列化System.Object

  18. 18

    使用Json.NET对混合类型的数组进行序列化/反序列化

  19. 19

    如何使用XStream序列化/反序列化类型层次结构中的对象?

  20. 20

    使用其他类型序列化/反序列化System.Object

  21. 21

    启用/禁用Moxy序列化的字段,默认禁用

  22. 22

    如何使用杰克逊(Jackson)和默认类型对一个EnumMap进行反序列化?

  23. 23

    使用Gson-extras使用瞬态变量反序列化多态JSON

  24. 24

    如何配置Jackson以默认类型反序列化命名类型?

  25. 25

    如何实现将复杂类型序列化/反序列化为简单类型的 Newtonsoft JSON 转换器

  26. 26

    使用Json.Net的多态JSON反序列化失败

  27. 27

    多态WCF反序列化不起作用

  28. 28

    Jackson对多态对象的自定义反序列化

  29. 29

    在GSON中反序列化递归多态类

热门标签

归档