バックエンド->フロントエンド長精度損失ソリューション

この問題は通常、SnowFlakeが使用されている場合に発生します

最初は、コードが追加された後、テストが更新されたときに、フロントエンドパラメーターがバックグラウンドに渡されましたが、データを更新できず、エラーは報告されませんでした。

何度か試したところ、更新中のリクエストパラメータのIDが、追加時にライブラリに保存されていたIDと一致していないことがわかりました。通常、最後の桁は2未満または2を超えています。

jsの処理範囲を超えているjavaの長さが長いことを確認したところ、

解決策は、jacksonを使用して構成を追加することです。

  1. jackson依存関係をインポートする
  2. 構成を追加する
@Configuration
public class JacksonConfig {
    
    
    
    @Bean
    public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
    
    
        ObjectMapper objectMapper = builder.createXmlMapper(false).build();
        SimpleModule simpleModule = new SimpleModule();
        // simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        objectMapper.registerModule(simpleModule);
        return objectMapper;
    }
}

おすすめ

転載: blog.csdn.net/weixin_44062380/article/details/115269013