前端传递给后端数据是json格式
后端接收
把json数据,存放到Reimbursement类的对象变量reimbursement里面。
根据json的键找到对应的字段,通过键,把值传递到类对象里,
一开始json里的值没有数据类型,类里的对应字段是什么类型,传进去后就是什么类型,
这里我类里面status的属性类String
可以看到,reimbursement.getStatus() instanceof String不报错,就说明传递进去的status确实变成了String类型
-
JSON 数据本身是无类型的:JSON 格式只定义了数据的结构(键值对),而不定义字段的数据类型。
-
后端根据类的字段类型解析数据:后端框架会根据类中定义的字段类型来解析 JSON 数据,并将值存储到类对象中。
-
类型转换:如果 JSON 中的值的类型与类字段的类型不匹配,后端框架会尝试进行类型转换。如果转换失败,会抛出异常。
而在我的数据库里面,我的status为int类型,却依然可以成功运行,
这是因为大多情况下,mybatis帮我们完成了类型转换,可以正常使用。但最好还是保持前端、后端和数据库的数据类型一致,以避免类型转换问题和数据一致性问题。
数据库是int,实体类类型为integer或Long,也是常见用法
在存储到数据库时,需要将 Integer
或 Long
类型的字段转换为 int
类型。通常,ORM 框架(如 Hibernate 或 MyBatis)会自动处理这种类型转换。