Spring JSON 序列化:Long 转 String

在 RESTful API 开发中,有时需要将 Java 对象序列化为 JSON 字符串。其中,对于 Long 类型的数据,通常需要将其转换为 String 类型才能在前端正确显示或处理。

问题:如何让 RESTController 和 Feign 接口序列化 Long 类型数据

在 Spring 项目中,可以通过以下步骤控制 Long 类型的序列化行为:

  1. 配置 Feign 的 Encoder:

    • 定义一个 Feign 配置类,实现 Encoder 接口。
    • 重写 encode 方法,并使用 MappingJackson2HttpMessageConverter 作为 HTTP 消息转换器。
  2. 配置 ObjectMapper:

    • 在 Feign 配置类中,创建并配置一个 ObjectMapper,并将其设置为 MappingJackson2HttpMessageConverter 的消息转换器。
    • 在 ObjectMapper 中,设置 SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN 和 SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS 属性为 false。这样可以确保 Long 类型数据以 String 形式序列化。

通过上述配置,即可控制 RESTController 和 Feign 接口的序列化行为。其中,对 Feign 接口的配置可以防止内部服务之间接口调用时发生 Long 转 String 的序列化。

以上就是Spring Boot中如何将Long类型数据序列化为String类型?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部