@RequestMapping("/view") public ReturnCodeUtil view(@RequestBody CommonUse commonUse) { ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil(); if(String.valueOf(commonUse.getUserId()).equals("0") || "".equals(commonUse.getUserFlag()) || commonUse.getUserFlag() == null ){ returnCodeUtil.setResult(false); return returnCodeUtil; } List<CommonUse> view = commonUseService.view(commonUse); returnCodeUtil.setResult(true); returnCodeUtil.setData(view); return returnCodeUtil; }
时间: 2023-07-16 10:12:30 浏览: 36
这段代码是一个基于Spring框架的Java后端接口,通过接收HTTP请求中的JSON格式参数CommonUse来查询数据库并返回结果。具体实现如下:
1. 通过 @RequestMapping 注解将该方法映射到 "/view" 路径。
2. 使用 @RequestBody 注解将HTTP请求中的JSON数据绑定到CommonUse对象上。
3. 对CommonUse对象中的属性进行校验,如果参数不合法则返回一个结果为false的ReturnCodeUtil对象。
4. 通过 commonUseService.view(commonUse) 方法查询数据库并返回查询结果。
5. 将查询结果封装到ReturnCodeUtil对象中并返回。
需要注意的是,该代码仅仅是一个后端接口的实现,前端页面需要发送HTTP请求并将参数以JSON格式传递给该接口。同时,该代码还依赖一个commonUseService对象,该对象负责实现具体的查询逻辑。
相关问题
@RestController @RequestMapping("/restful/commonUse") public class CommonUseController { @Autowired private UserService userService; @Autowired private CommonUseService commonUseService; //统一的数据查看 @RequestMapping("/view") public ReturnCodeUtil view(@RequestBody CommonUse commonUse) { ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil(); if(String.valueOf(commonUse.getUserId()).equals("0") || "".equals(commonUse.getUserFlag()) || commonUse.getUserFlag() == null ){ returnCodeUtil.setResult(false); return returnCodeUtil; } List<CommonUse> view = commonUseService.view(commonUse); returnCodeUtil.setResult(true); returnCodeUtil.setData(view); return returnCodeUtil; } //统一的数据更改 @RequestMapping("/edit") public ReturnCodeUtil edit(@RequestBody CommonUse commonUse) { ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil(); if(String.valueOf(commonUse.getUserId()).equals("0") || "".equals(commonUse.getUserFlag()) || commonUse.getUserFlag() == null ){ returnCodeUtil.setResult(false); return returnCodeUtil; } int res = commonUseService.edit(commonUse); if(res>0) { returnCodeUtil.setResult(true); }else returnCodeUtil.setResult(false); return returnCodeUtil; } //统一的数据插入 @RequestMapping("/add") public ReturnCodeUtil add(@RequestBody CommonUse commonUse) { ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil(); int add = commonUseService.add(commonUse); if(add >0){ returnCodeUtil.setResult(true); }else { returnCodeUtil.setResult(false); } return returnCodeUtil; } //统一数据删除 @RequestMapping("/delete") public ReturnCodeUtil delete(@RequestBody CommonUse commonUse) { ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil(); int res = commonUseService.delete(commonUse); if(res >0){ returnCodeUtil.setResult(true); }else { returnCodeUtil.setResult(false); } return returnCodeUtil; } }优化代码
可以将重复的部分提取出来,采用函数式编程的方式进行重构,提高代码的复用性和可读性,优化后的代码如下:
@RestController
@RequestMapping("/restful/commonUse")
public class CommonUseController {
@Autowired
private UserService userService;
@Autowired
private CommonUseService commonUseService;
// 统一的数据操作
private ReturnCodeUtil operateData(Function<CommonUse, Integer> function, CommonUse commonUse) {
ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil();
if (String.valueOf(commonUse.getUserId()).equals("0") || "".equals(commonUse.getUserFlag()) || commonUse.getUserFlag() == null) {
returnCodeUtil.setResult(false);
return returnCodeUtil;
}
int res = function.apply(commonUse);
returnCodeUtil.setResult(res > 0);
return returnCodeUtil;
}
// 统一的数据查看
@RequestMapping("/view")
public ReturnCodeUtil view(@RequestBody CommonUse commonUse) {
List<CommonUse> view = commonUseService.view(commonUse);
ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil();
returnCodeUtil.setResult(true);
returnCodeUtil.setData(view);
return returnCodeUtil;
}
// 统一的数据更改
@RequestMapping("/edit")
public ReturnCodeUtil edit(@RequestBody CommonUse commonUse) {
return operateData(commonUseService::edit, commonUse);
}
// 统一的数据插入
@RequestMapping("/add")
public ReturnCodeUtil add(@RequestBody CommonUse commonUse) {
return operateData(commonUseService::add, commonUse);
}
// 统一数据删除
@RequestMapping("/delete")
public ReturnCodeUtil delete(@RequestBody CommonUse commonUse) {
return operateData(commonUseService::delete, commonUse);
}
}
这里提取了 operateData 函数,用于统一处理数据操作,接收一个 Function 类型的参数,该参数用于指定具体的数据操作方法。同时,view 方法中的代码也进行了简化,使代码更加简洁。
优化代码 //统一数据删除 @RequestMapping("/delete") public ReturnCodeUtil delete(@RequestBody CommonUse commonUse) { ReturnCodeUtil returnCodeUtil = new ReturnCodeUtil(); int res = commonUseService.delete(commonUse); if(res >0){ returnCodeUtil.setResult(true); }else { returnCodeUtil.setResult(false); } return returnCodeUtil; } }
可以将代码进行简化和优化,如下所示:
@RequestMapping("/delete")
public ReturnCodeUtil delete(@RequestBody CommonUse commonUse) {
int res = commonUseService.delete(commonUse);
return new ReturnCodeUtil(res > 0);
}
这里使用了三元运算符来判断 res 是否大于 0,从而设置 ReturnCodeUtil 的结果。同时,去掉了无用的变量声明和赋值操作,使代码更简洁。