登录
首页 >  文章 >  java教程

Spring Boot中,如何同时配置REST API接口将long转为String,而Feign保持默认数字序列化?

时间:2024-12-20 18:39:40 483浏览 收藏

学习文章要努力,但是不要急!今天的这篇文章《Spring Boot中,如何同时配置REST API接口将long转为String,而Feign保持默认数字序列化?》将会介绍到等等知识点,如果你想深入学习文章,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

Spring Boot中,如何同时配置REST API接口将long转为String,而Feign保持默认数字序列化?

spring json long 转 string 序列化问题

json 序列化时遇到 long 类型转为字符串的问题,在 restful api 接口和内部服务的 feign 接口之间表现不一致。

问题:

如何配置 spring mvc 和 feign,以便 restful api 接口将 long 类型转换为字符串,而 feign 内部服务调用的接口保持默认的数字序列化?

解决方案:

步骤 1:配置 feign

为 feign 配置自定义 encoder,实现 springencoder 接口:

@Configuration
public class FeignConfig {

    @Bean
    public Encoder feignEncoder() {
        return new SpringEncoder(new MappingJackson2HttpMessageConverter(jacksonObjectMapper()));
    }

    @Bean
    public ObjectMapper jacksonObjectMapper() {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.configure(SerializationFeature.WRITE_BIGDECIMAL_AS_PLAIN, true);
        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
        return objectMapper;
    }
}

步骤 2:配置 restful api 接口

不需要任何特殊配置,spring mvc 默认将 long 类型序列化为字符串。

配置完成后,restful api 接口将 long 类型序列化为字符串,而 feign 内部服务接口将保持默认的数字序列化。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>