当前位置: 首页 > 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
http://www.dtcms.com/a/1032.html

相关文章:

  • 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 的盈利潜力:我使用语言模型赚取第一笔钱的个人旅程
  • 推荐算法——NCF知识总结代码实现
  • 刷题专练之数组移除元素
  • Vue 3第二章:Vite文件目录结构及SFC语法
  • 从0开始写Vue项目-Vue实现用户数据批量上传和数据导出
  • Linux 常用命令
  • 基于pytorch实现模型剪枝
  • 智慧物联网系统源码:一个用于数据的收集、处理、可视化、设备管理、设备预警、报警的平台
  • QT基础入门【调试篇】QT远程部署与调试嵌入式ARM开发板
  • JavaScript 中的设计模式:创建模式
  • JVM笔记(8)—— 直接内存