前后端数据类型不一致处理方式
pom.xlm文件中加入
方法一:
<!--数据转换-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.71</version>
</dependency>
即可把前端数据类型与后端数据类型统一
比如:前端数据类型为String 等 ,后端数据类型为Long 等,就可通过上面的方式转换。
方法二:
把后端数据主键数据类型改的和前端一致。
用ID查询的函数数据类型也需要转换。
方法三:
Springboot项目,在配置文件中添加一句即可。
spring.jackson.generator.write_numbers_as_strings = true
1
后端还是使用Long类型,前端使用Number接收。
解决方案2
实体类中,id字段不使用Long类型,改为String类型即可。
//private Long id;
private String id;
1
2
3
不推荐,这样的话你的数据库主键就不能使用bigint类型了,得使用varchar类型,varchar类型作为主键的话加大消耗,降低了索引效率。
解决方案3
使用alibaba的fastJSON工具包(需要引入依赖)
实体类中,在Long类型的字段上加@JsonSerialize(using = ToStringSerializer.class)
这样就能在序列化时自动将该字段类型转为String类型返给前端
@Data
public class Ebook {
@JSONField(serializeUsing= ToStringSerializer.class)
private Long id;
private String name;
1
2
3
4
5
6
7
或者 不要设置超过16位的Long类型就OK啦。