Bootstrap

使用Jackson将Long转化为String

问题

后台使用雪花ID,使用restful 接口提供数据给前端,超过了前端的最大数值。

原因

Java Bean里面的id使用的是Long,来存储雪花ID,但是前端无法接受这个超过17位的雪花ID(我们使用的雪花ID达到了19位)。为了让雪花ID能够被前端接收到雪花ID,只能在这个Java Bean对象序列化的时候,将这个字段改成字符串类型给前端。

解决

在Java Bean中添加Jackson序列化字段即可:

@JsonSerialize(using=ToStringSerializer.class)
public Long id;

@JsonSerialize(using=ToStringSerializer.class)
public Long getId() {
   return id;
}

参考

;