// 收藏书评 @ResponseBody @RequestMapping("/add") public Map<String, Object> add (@RequestBody int id, HttpSession session) { User user = (User) session.getAttribute(WebConstant.SESSION_KEY_USER); Collect collect = new Collect(); collect.setDebookId(id); collect.setUserId(user.getId()); collectService.insertSelective(collect); // 收藏量 + 1 debookService.updateCollectCount(id); return new ResponseBean().getResponseMap(); }
时间: 2023-12-26 18:04:04 浏览: 122
这段代码是一个Spring MVC的控制器方法,使用了@RequestMapping注解映射HTTP请求URL为"/add",并且使用了@ResponseBody注解来将返回值转换为JSON格式的响应数据。该方法接收一个int类型的id参数和一个HttpSession对象作为参数,其中id表示要收藏的书籍的id,HttpSession对象则用于获取当前登录的用户信息。该方法首先从session中获取当前用户信息,然后创建一个Collect对象并设置相关属性,再调用collectService的insertSelective方法将该Collect对象插入到数据库中。接着调用debookService的updateCollectCount方法将该书籍的收藏量加1。最后返回一个ResponseBean对象的响应Map,表示操作成功。
相关问题
// 注册 @ResponseBody @RequestMapping("/register") public Map<String, Object> register(@RequestBody User user){ ResponseBean responseBean = new ResponseBean(); User u = userService.selectOne(user); if (u == null) { userService.insertSelective(user); } else { responseBean.putError("注册失败,该用户名已注册"); } return responseBean.getResponseMap(); } // 登录 @ResponseBody @RequestMapping("/login") public Map<String, Object> login(@RequestBody User user, HttpSession session){ ResponseBean responseBean = new ResponseBean(); User u = userService.selectOne(user); if (u == null) { responseBean.putError("用户名/密码错误"); } else { if (!u.getPassword().equals(user.getPassword())) { responseBean.putError("用户名/密码错误"); } else { responseBean.putData("data", u); session.setAttribute(WebConstant.SESSION_KEY_USER, u); } } return responseBean.getResponseMap(); }
这是一个使用 Spring MVC 框架编写的用户注册和登录的 RESTful API 接口。其中,@ResponseBody 注解表示该方法返回的是 JSON 数据,@RequestMapping 注解则指定了该方法对应的 URL 地址。
在 register 方法中,@RequestBody 注解表示该方法接收的参数为一个 User 对象,该方法会将该对象插入到数据库中。如果该用户名已被注册,则返回一个包含错误信息的 ResponseBean 对象。
在 login 方法中,也是通过 @RequestBody 注解来接收用户提交的参数。如果该用户名不存在或密码不正确,则返回一个包含错误信息的 ResponseBean 对象。否则,该方法会将该用户对象存储到 HttpSession 中,表示该用户已登录。
// 添加 @RequestMapping("/debook/add.html") public String addDebookHtml(Model model, HttpSession session) { List<Category> categoryList = categoryService.selectAll(); model.addAttribute("categoryList", categoryList); return "/admin/debook_add"; } @ResponseBody @RequestMapping("/debook/add") public Map<String, Object> addDebook(@RequestBody Debook debook, HttpSession session) { User user = (User) session.getAttribute(WebConstant.SESSION_KEY_USER); debook.setUserId(user.getId()); debook.setUsername(user.getUsername()); debook.setDebookTime(new Date()); debookService.insertSelective(debook); return new ResponseBean().getResponseMap(); }
这是一段Java代码,使用了Spring MVC框架中的@RequestMapping注解,指定了两个请求路径:"/debook/add.html"和"/debook/add"。其中,前者用于渲染添加Debook对象的HTML表单,后者用于处理实际的添加操作。在方法中,都使用了Model对象和HttpSession对象。在addDebookHtml方法中,从数据库中获取所有的Category对象列表,并将它们添加到Model对象中,最后返回一个指定路径为"/admin/debook_add"的字符串,表示要渲染该路径下的HTML模板。在addDebook方法中,使用了@ResponseBody注解,表示返回的是一个JSON格式的数据。首先从session中获取当前用户的信息,然后将用户ID、用户名、添加时间等信息都设置到Debook对象中,最后通过调用debookService的insertSelective方法向数据库中添加Debook对象。最后,返回一个由ResponseBean对象转换而来的Map对象,表示操作的结果。
阅读全文