优雅的controller层设计
controller层设计
§ Controller 层逻辑
MVC架构下,我们的web工程结构会分为三层,自下而上是dao层,service层和controller层。controller层为控制层,主要处理外部请求。调用service层,一般情况下,controller层不应该包含业务逻辑,controller的功能应该有以下五点:
⑴、接收请求并解析参数
⑵、业务逻辑执行成功做出响应
⑶、异常处理
⑷、转换业务对象
⑸、调用 Service 接口
§ 普通写法
@RestController
public class TestController {
@Autowired
private UserService userService;
@PostMapping("/test")
public Result service(@Validated @RequesBody UserRequestBo requestBo) throws Exception {
Result result = new Result();
// 参数校验
if (StringUtils.isNotEmpty(requestBo.getId())
|| StringUtils.isNotEmpty(requestBo.getType())
|| StringUtils.isNotEmpty(requestBo.getName())
|| StringUtils.isNotEmpty(requ