java – 如何正确注册自定义JsonSerializer?

前端之家收集整理的这篇文章主要介绍了java – 如何正确注册自定义JsonSerializer?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试将Ajax帖子用于Spring @RestController.杰克逊与@Json存在问题… @Entity中的引用注释继承自(@Inheritance(strategy = InheritanceType.JOINED)).

我已经看到了很多有关这方面的问题和答案.截至目前,不允许永久更改父实体.我确实可以访问,并且可以暂时更改我的本地副本,因此我已经能够确认删除父级中的注释可能会修复它,可能是以破坏其他内容为代价.所以,我的解决方案是实现自定义JsonSerializer.

问题是它没有被调用;我想我已经从我所看到的那样做得很好.这是相关代码

我在AppConfig文件注册了@Bean.我尝试过方法体的变体;这只是最近一个不起作用的……

@Bean
public Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder() {
    SimpleModule m = new SimpleModule();
    m.addSerializer(Orchard.class,new OrchardSerializer());
    return new Jackson2ObjectMapperBuilder().modules(m);
}

我提供了序列化器;下面的断点永远不会被触发……

public class OrchardSerializer extends JsonSerializer

我试图发布的实体……

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@JsonSerialize(using = OrchardSerializer.class)
public class Orchard extends Yard {

    @OneToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
    private List

如何注册自定义JsonSerializer以便在Ajax帖子上调用它?

最佳答案
好像你没有使用Spring Boot. AFAIK没有Spring Boot Jackson2ObjectMapperBuilder不会被自动检测到.如果要添加自定义序列化程序,则应在WebMvcConfigurerAdapter中执行此操作.

@Configuration
@EnableWebMvc
public class WebConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void configureMessageConverters(List
原文链接:https://www.f2er.com/spring/432805.html

猜你在找的Spring相关文章