加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 01:50:29 所属栏目:大数据 来源:网络整理
导读:我正在尝试将Ajax帖子用于Spring @RestController.杰克逊与@Json存在问题 @Entity中的引用注释继承自(@Inheritance(strategy = InheritanceType.JOINED)). 我已经看到了很多有关这方面的问题和答案.截至目前,不允许永久更改父实体.我确实可以访问,并且可以暂

我正在尝试将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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读