当前位置: 首页 > 知识库问答 >
问题:

在SpringBootendpoint上使用自定义jackson映射器

姜增
2023-03-14

我想在从AbstractEndPoint派生的endpoint上使用不同的jackson ObjectMapper实例(而不是在其他映射URL上使用的实例)。

为了澄清这个问题,我不想更改或自定义对象映射器,它由不同的URL使用,不同的URL来自AbstractEndpoints(如HealtEndpoint、MetricsEndpoint)。我想专门将新的对象映射器注入到管理endpoint中。

共有1个答案

应煌
2023-03-14

如果您想要完全替换默认的ObjectMapper,要么定义一个该类型的@bean并将其标记为@primary,或者,如果您更喜欢基于构建器的方法,定义一个Jackson2ObjectMapperBuilder@bean。注意,无论哪种情况,这都将禁用`objectmapper的所有自动配置。

如果您提供任何类型为MappingJackson2HttpMessageConverter的@Bean,那么它们将替换MVC配置中的默认值。此外,还提供了一个类型为HttpMessageConverters的方便bean(如果使用默认MVC配置,则始终可用),它具有一些有用的方法来访问默认的和用户增强的消息转换器。

您可以阅读文档中的完整主题:73.3Customize the Jackson ObjectMapper

https://docs.spring.io/spring-boot/docs/current-snapshot/reference/htmlsingle/#howto-customize-the-jackson-objectmapper

 类似资料:
  • 我有一个用例,其中我需要维护两组JSON输出,一组具有JSON属性的漂亮名称,另一组没有。所以我决定自定义ObjectMapper,以便它忽略字段上的@JSONProperty(“pretty name”)注释,而使用字段属性名。在本例中,希望得到以下JSON输出 具有漂亮名称的JSON输出如下所示 我的ObjectMapper配置代码如下所示 我看了一些其他的答案,但对我不起作用。我得到了一个N

  • 初始化服务器时,出现以下错误: java.lang.IllegalStateException:无法将[java.lang.String]类型的值转换为属性“Object Mapper”所需的类型[org.codehaus.jackson.map.objectMapper]:在org.springframework.beans.typeConverterDelegate.ConvertifEmen

  • 我有两个对象,除了date成员外,其他成员都相同。在obj1中,date是java.sql.date,obj2.date是long(纪元)。 我需要编写一个映射器来将obj1映射到obj2。这就是我试图做的: 但是mapperImpl只有自己的日期转换实现: 我得到了: 这种转换的正确方式是什么?

  • 问题内容: 我正在使用Spring Boot(1.2.1),其方式与他们的Build RESTful Web Service教程中的方式类似: 因此,在上面,Spring MVC隐式使用Jackson将我的对象序列化为JSON。 但我想对JSON格式进行一些简单的自定义,例如: 问题是,定制隐式JSON映射器的最简单方法是什么? 我在此博客文章中尝试了该方法,创建了CustomObjectMapp

  • 我有一个自定义的Request estMappingHandlerMap类,它将特殊注释解释为其映射条件的一部分。因此它被实例化为bean: 但是当我创建一个MockMvc对象进行测试时(使用Standard aloneSetup),没有使用这个映射处理程序。如果不考虑额外的注释,映射会失败,因为我有多个具有相同@Request estMap的控制器方法。注释是区分它们的原因。 如何配置MockM

  • 我正在用spring MVC开发一个REST webservice。我需要更改jackson 2序列化mongodb对象的方式。我不知道该怎么做,因为我找到了Jackson2的部分文档,我所做的是创建一个自定义序列化程序: