@RequestMapping("obtainDishes") @ResponseBody public Object obtainDishes(String cartname){ List<Map> list=JSONObject.parseObject(cartname,List.class); List<Dishes> getList=new ArrayList<>(); for (Map ma : list) { Dishes dishes=dishesMapper.findList(ma); BigDecimal money1=new BigDecimal(dishes.getMoney()).multiply(new BigDecimal(ma.get("num").toString())); dishes.setMoney1(money1); dishes.setNum(ma.get("num").toString()); getList.add(dishes); } return getList; }
时间: 2024-04-02 18:37:49 浏览: 189
这段代码是一个基于Spring MVC框架编写的后端接口,用于获取购物车中的菜品列表。其中,@RequestMapping注解表示该方法与前端的/obtainDishes路径对应,@ResponseBody注解表示返回结果是一个JSON对象。该方法接受一个cartname参数,表示购物车中的菜品列表,将其转换成List<Map>对象。接着,循环遍历每一个Map对象,将其作为参数调用dishesMapper的findList方法获取对应的Dishes对象。然后,根据购物车中的数量计算出该道菜品的总价,并将其设置到Dishes对象的money1属性中。最后,将Dishes对象添加到getList列表中,并返回给前端。
相关问题
@RequestMapping("/getPage") @ResponseBody public Page<TbServiceAccept> getPage(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model, Page<TbServiceAccept> page, TbServiceAccept tbServiceAccept) { Map<String, Object> map = new HashMap<String, Object>(); map.put("createtimeGt",tbServiceAccept.getCreatetimeGt()); map.put("createtimeLt",tbServiceAccept.getCreatetimeLt()); map.put("clientphone",tbServiceAccept.getClientphone()); map.put("receiver",tbServiceAccept.getReceiver()); map.put("crmnumber",tbServiceAccept.getCrmnumber()); page= tbServiceAcceptService.findByPage(map, page); for (TbServiceAccept tbServiceAccept1 : page.getItems()) { List<Map<String, Object>> usermap = tbUserInfoService.findCustom("select * from tb_User_Info where (username = #{p[0]} or phone =#{p[0]}) and isDelete = 0", new Object[]{tbServiceAccept1.getId()}); if (!usermap.isEmpty()) { tbServiceAccept1.setJson(new JSONObject().fluentPut("khPhone", usermap.get(0).get("khPhone"))); } } return page;怎么改,不要findCustom改为list并且不用map方法
您可以将`findCustom`方法替换为`list`方法,并且不使用`Map`来存储参数。下面是修改后的代码:
```java
@RequestMapping("/getPage")
@ResponseBody
public Page<TbServiceAccept> getPage(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model, Page<TbServiceAccept> page, TbServiceAccept tbServiceAccept) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("createtimeGt", tbServiceAccept.getCreatetimeGt());
map.put("createtimeLt", tbServiceAccept.getCreatetimeLt());
map.put("clientphone", tbServiceAccept.getClientphone());
map.put("receiver", tbServiceAccept.getReceiver());
map.put("crmnumber", tbServiceAccept.getCrmnumber());
page = tbServiceAcceptService.findByPage(map, page);
for (TbServiceAccept tbServiceAccept1 : page.getItems()) {
List<TbUserInfo> userInfos = tbUserInfoService.list("select * from tb_User_Info where (username = ? or phone = ?) and isDelete = 0", new Object[]{tbServiceAccept1.getId(), tbServiceAccept1.getId()});
if (!userInfos.isEmpty()) {
TbUserInfo userInfo = userInfos.get(0);
tbServiceAccept1.setJson(new JSONObject().fluentPut("khPhone", userInfo.getKhPhone()));
}
}
return page;
}
```
这里使用`list`方法代替了`findCustom`方法,并直接传入参数数组作为查询条件。同时,使用`TbUserInfo`对象来存储查询结果,无需再使用`Map`。
在Spring MVC中,JSON类型的数据如何交互?请按照返回实体对象、ArrayList集合、Map<String,Object>集合以及List<Map<Spring,Object>>集合举例说明
在Spring MVC中,JSON类型的数据交互通常使用Spring提供的Jackson库实现,具体实现步骤如下:
1. 返回实体对象
首先需要在Controller方法上添加@ResponseBody注解,表示将返回的数据转换成JSON格式。例如:
```
@RequestMapping("/getUser")
@ResponseBody
public User getUser(int id){
User user = userService.getUserById(id);
return user;
}
```
这样就可以将User对象转换成JSON格式返回给前端。
2. ArrayList集合
如果要返回ArrayList集合,则只需要将集合作为Controller方法的返回值即可。例如:
```
@RequestMapping("/getAllUsers")
@ResponseBody
public List<User> getAllUsers(){
List<User> userList = userService.getAllUsers();
return userList;
}
```
这样就可以将List<User>对象转换成JSON格式返回给前端。
3. Map<String,Object>集合
如果要返回Map<String,Object>集合,则同样将集合作为Controller方法的返回值即可。例如:
```
@RequestMapping("/getUserInfo")
@ResponseBody
public Map<String,Object> getUserInfo(int id){
User user = userService.getUserById(id);
Map<String,Object> userInfo = new HashMap<>();
userInfo.put("id",user.getId());
userInfo.put("name",user.getName());
userInfo.put("age",user.getAge());
return userInfo;
}
```
这样就可以将Map<String,Object>对象转换成JSON格式返回给前端。
4. List<Map<String,Object>>集合
如果要返回List<Map<String,Object>>集合,则同样将集合作为Controller方法的返回值即可。例如:
```
@RequestMapping("/getAllUserInfo")
@ResponseBody
public List<Map<String,Object>> getAllUserInfo(){
List<User> userList = userService.getAllUsers();
List<Map<String,Object>> userInfoList = new ArrayList<>();
for(User user : userList){
Map<String,Object> userInfo = new HashMap<>();
userInfo.put("id",user.getId());
userInfo.put("name",user.getName());
userInfo.put("age",user.getAge());
userInfoList.add(userInfo);
}
return userInfoList;
}
```
这样就可以将List<Map<String,Object>>对象转换成JSON格式返回给前端。
阅读全文