@ResponseBody @RequestMapping("/user/edit") public Map<String, Object> editUser(@RequestBody User user) { ResponseBean responseBean = new ResponseBean(); // 根据用户名去查询是否已经存在此用户 User u = userService.selectOne(user); // 不存在则修改 if (u == null) { userService.updateByPrimaryKeySelective(user); } else { // 存在的话比较ID是否一致,一致则修改 if (u.getId() == user.getId()) { userService.updateByPrimaryKeySelective(user); } else { responseBean.putError("用户名已存在,请重新输入"); } } return responseBean.getResponseMap(); }
时间: 2023-12-26 12:04:13 浏览: 112
这是一个使用 Spring MVC 框架编写的 Java 后端控制器,处理 HTTP POST 请求,路径为 "/user/edit",请求体为 JSON 格式的 User 对象。该方法首先查询数据库中是否存在相同用户名的用户,如果不存在则直接更新用户信息;如果存在,则比较两个用户的 ID 是否一致,若一致则更新用户信息,否则返回错误信息。最终返回一个包含响应码、响应消息和响应数据的 Map 对象。
相关问题
// 禁言、解禁 @ResponseBody @RequestMapping("/user/status") public Map<String, Object> userStatus(@RequestBody User user) { userService.updateByPrimaryKeySelective(user); return new ResponseBean().getResponseMap(); }
这段代码是一个 Spring Boot 的控制器方法,用于对用户进行禁言或解禁操作。从参数可以看出,该方法接受一个 User 对象作为请求体,并更新该用户的状态(禁言或解禁)到数据库中。最后返回一个 ResponseBean 对象的响应结果。需要注意的是,该方法标记了 @RequestBody 注解,表示请求体中的数据将被反序列化成一个 User 对象。同时,也标记了 @ResponseBody 注解,表示响应结果将被序列化成一个 Map 对象并返回给客户端。
@ResponseBody @RequestMapping("/user/delete") public Map<String, Object> deleteUser(@RequestBody Integer id) { userService.deleteByPrimaryKey(id); return new ResponseBean().getResponseMap(); }
这是一个使用 Spring MVC 框架的控制器方法,它使用 `@RequestMapping` 注解将 `/user/delete` 路径映射到该方法上。同时,使用了 `@ResponseBody` 注解表示响应体的数据类型是 JSON 格式。该方法接收一个 `id` 参数,该参数类型为 `Integer`,并使用 `@RequestBody` 注解表示该参数是从请求体中获取的。
在方法体内部,调用了 `userService` 的 `deleteByPrimaryKey` 方法删除指定 id 的用户,并返回一个成功响应的 `ResponseBean` 对象的响应数据。最后,将该响应数据转换成 Map 格式并返回。
阅读全文