当前位置: 首页 > news >正文

优雅的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

相关文章:

  • Echarts 每个柱子一种渐变色的象形柱状图
  • Liunx(狂神课堂笔记)
  • 2023软件测试工程师全新技术栈,吃透这些,起薪就是25k~
  • k8s新增节点机器,无法拉取和推送镜像的解决方案
  • AIX系统常见漏洞修复(exec、rlogin、rsh、ftp、telnet远端服务运行中)
  • 计算机组成原理(1)--计算机系统概论
  • 带你深入了解c语言指针后续
  • 单调栈(C/C++)
  • 「牛客网C」初学者入门训练BC139,BC158
  • ESP32设备驱动-MAX30100心率监测传感器驱动
  • SpringMVC常见面试题(2023最新)
  • Linux系统下搭建maven环境
  • java:自定义变量加载到系统变量后替换shell模版并执行shell
  • Apollo(阿波罗)分布式配置安装详解
  • chatgpt的原理 第四部分
  • Gehpi的网络布局
  • go进阶(2) -深入理解Channel实现原理
  • 【数据库】 SQLServer
  • 【基础算法】二分例题(我在哪?)
  • ChatGPT 的盈利潜力:我使用语言模型赚取第一笔钱的个人旅程
  • 伊朗外长: 下一轮伊美核问题谈判将于26日举行
  • 李家超:香港特区政府积极推进十五运会各项筹办工作
  • A股和港股市场小幅走强,“地产链”相关股票爆发
  • 独家专访|阿来:人只活几十年,我得写点不一样的
  • 携手81个国家和区域一体化组织,中国加入这个共同维护国际渔业秩序的协定