數字ID過長 精度丟失 (已解決:後端方案)
阿新 • • 發佈:2021-10-16
使用Fastjson和Springboot的Converter對全域性Long型別統一序列化為字串型別
直接上程式碼:
序列化類:
public class Serialize2String implements ObjectSerializer { public static final Serialize2String instance = new Serialize2String(); @Override public void write(JSONSerializer jsonSerializer, Object o, Object o1, Type type, inti) { if (o == null) { jsonSerializer.out.writeNull(); return; } jsonSerializer.out.writeString(o.toString()); } }
全域性序列化配置:
@Configuration public class LocalConfig implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter converter知止而後有定;定而後能靜;靜而後能安;安而後能慮;慮而後能得。= new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); SerializeConfig serializeConfig = SerializeConfig.getGlobalInstance(); serializeConfig.put(Long.class, Serialize2String.instance); serializeConfig.put(Long.TYPE, Serialize2String.instance); converter.setFastJsonConfig(fastJsonConfig); converters.add(converter); } }