在springboot中为@restcontroller配置自定义objectmapper

b4qexyjb  于 2021-07-16  发布在  Java
关注(0)|答案(2)|浏览(273)

我在springboot应用程序中配置了两个objectmapper。我在如下配置类中声明这些:

@Configuration
public class Config {

  @Bean
  @Primary
  public ObjectMapper getPrimary() {
    return new ObjectMapper();
  }

  @Bean
  public ObjectMapper getSecondary() {
    return new ObjectMapper();
  }

}

@primary objectmapper可以正常工作。不过,我不知道如何让@restcontroller使用辅助objectmapper。感谢您的帮助。

ilmyapht

ilmyapht1#

您需要使用限定符:

@Configuration
public class Config {

  @Bean("myPrimaryOjectMapper")
  @Primary
  public ObjectMapper getPrimary() {
    return new ObjectMapper();
  }

  @Bean("mySecondaryOjectMapper")
  public ObjectMapper getSecondary() {
    return new ObjectMapper();
  }

}

注射时:

@Autowired
@Qualifier("mySecondaryOjectMapper")
private ObjectMapper objectMapper;

您可以阅读更多信息,例如:https://www.baeldung.com/spring-qualifier-annotation#qualifiervsprimary

bwleehnv

bwleehnv2#

fwiw,我无法让它隐式地与@restcontroller一起工作,但我最终将辅助objectmapper注入rest控制器,然后直接使用mapper解析输入。

相关问题