在Spring Boot中,如果将Long类型的id传递到前端,可能会遇到精度丢失的问题。这是因为JavaScript无法精确地表示大于Number.MAX_SAFE_INTEGER
(即9007199254740991
)的整数。
为了解决这个问题,你可以采用以下方法之一:
方式1 : 通过注解方式
@Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) public class SysRoles implements Serializable { // 注解处理 @JsonSerialize(using=ToStringSerializer.class) private Long id; }
方式2: 全局设置 ,改写配置放在容器中。
@Bean public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.createXmlMapper(false).build(); objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); SimpleModule module = new SimpleModule(); module.addSerializer(Long.class, ToStringSerializer.instance); module.addSerializer(Long.TYPE, ToStringSerializer.instance); objectMapper.registerModule(module); return objectMapper; }
标签:long,springBoot,Long,class,module,ToStringSerializer,id,objectMapper From: https://www.cnblogs.com/guanxiaohe/p/17684403.html