Back-end -> Front-end Solución de pérdida de precisión larga

Este problema suele ocurrir cuando se usa SnowFlake

Al principio, después de que se agregó el código, cuando se actualizó la prueba, los parámetros del front-end se pasaron a un segundo plano, pero los datos no se pudieron actualizar y no se informó ningún error.

Después de intentarlo varias veces, descubrí que la identificación del parámetro de solicitud durante la actualización no coincide con la identificación guardada en la biblioteca cuando se agregó. Generalmente, el último dígito es menos de 2 o más de 2.

Descubrí después de verificar que es la longitud larga de java, que excede el rango de procesamiento de js

La solución es usar jackson y agregar la configuración:

  1. Importar jacksondependencias
  2. Agregar configuración
@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;
    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_44062380/article/details/115269013
Recomendado
Clasificación