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 内部服务接口将保持默认的数字序列化。
以上就是Spring Boot中,如何同时配置REST API接口将long转为String,而Feign保持默认数字序列化?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号