前言
1、通过前端页面查看接口
会发现请求方式是put 请求接口是employee
2、检查页面传值
根据浏览器的请求可以看到传值为id和status
2、写put请求,添加修改时间和修改人的id然后传回给后台
/*** 启用和禁用员工账号* @param request* @param employee* @return*/@PutMappingpublic R<String> update(HttpServletRequest request, @RequestBody Employee employee){Long empId = (Long) request.getSession().getAttribute("employee");employee.setUpdateTime(LocalDateTime.now());employee.setUpdateUser(empId);employeeService.updateById(employee);return R.success("修改成功");}
3、未修改成功的原因
数据中的id和前端传输的id不一致导致的,这是由于前端的number类型过长导致精度丢失导致的
4、解决方案
通过查询时候将id该为字符串类型可以解决这个问题
4.1、扩充默认的消息转换器
@Overrideprotected void extendMessageConverters(List<HttpMessageConverter<?>> converters){log.info("扩展消息转换器...");
// 创建消息转换器对象MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
// 设置对象转换器,底层使用jackson将java对象转换成jsonmessageConverter.setObjectMapper(new JacksonObjectMapper());
// 将上面的消息转换器对象追加到mvc框架的转换器集合中converters.add(0,messageConverter);}
4.2、扩充的消息转换器文件
百度云盘
链接:https://pan.baidu.com/s/1xHksgy_u11cbBU8xfZbwLA?pwd=bi9c
提取码:bi9c