在对管理员做禁用操作时,操作虽然成功,但是状态是没有改过来的还是正常状态,底层是一个通过id进行修改的操作
在后台idea没有报错,但是修改数据条数为0,后台显示的id也与数据库不匹配
找了很多资料发发现是由于在前端js当中如果后台传来一个64位的Long型整数,因为超过了53位,所以后台返回的值和前台获取的值会不一样。 下面的例子可以看到,17位以后的数字变成了0,第17位四舍五入。
然后如何解决这个问题,我们可以将在服务端给页面响应的json数据进行处理,将long类型转为String类型,要实现这个效果首先我们要创建一个JacksonObjectMapper的工具类这个工具类相当于就是一个对象映射器可以理解为将Java对象转为json格式,也可以将日志信息转为json格式方便管理
然后再将mvc的消息转换器进行扩充 ,这里要注意在add方法里面要将索引写出0才能将框架原来的转换器变成我们自定义的转换器
然后再次测试就成功了