如何优雅的使用contorller层

一个完整的后端请求由 4 部分组成:

  • 接口地址(也就是 URL 地址)

  • 请求方式(一般就是 get、set,当然还有 put、delete)

  • 请求数据(request,有 head 跟 body)

  • 响应数据(response)

  • 它可以很方便的对外提供数据接口服务,也是非常关键的出口,所以非常有必要进行规范统一,使其既简洁又优雅。

    controller层的职责为负责接收和响应请求,一般不负责具体的逻辑业务的实现。controller主要工作如下:

    接收请求并解析参数;

    调用service层执行具体的业务逻辑(可能包含参数校验);

    捕获业务异常做出反馈;

    业务逻辑执行成功做出响应;

目前controller层代码会存在的问题:

  • 参数校验过多地耦合了业务代码,违背了单一职责原则;

    可能在多个业务逻辑中抛出同一个异常,导致代码重复;

    各种异常反馈和成功响应格式不统一,接口对接不友好;

优雅写法一:统一返回结构

优雅写法二:统一包装处理

优雅写法三:参数校验

优雅写法四:自定义异常与统一拦截异常

相关推荐
oak隔壁找我1 分钟前
整合spring ai alibaba + ollama 实现一个可以执行python代码、读、写txt文档功能的Agent
java·人工智能·后端
qq_12498707532 分钟前
基于springboot+vue的医疗信息系统(源码+论文+部署+安装)
java·开发语言·vue.js·spring boot·后端·毕业设计
fakerth3 分钟前
【OpenHarmony】commonlibrary_c_utils实现
c语言·开发语言·操作系统·openharmony
Dolphin_Home5 分钟前
Java Stream 数据处理笔记:从嵌套集合中过滤特定类别的Map
java·windows·笔记
烟沙九洲5 分钟前
企业微信相关文档
java·企业微信
兩尛7 分钟前
【华为OD机试】运维日志排序
java·数据结构·华为od
sanggou7 分钟前
对接第三方服务踩坑:属性大小写不匹配导致数据解析失败,一个注解搞定!
java
计算机毕设指导69 分钟前
基于微信小程序的电子数据取证知识测试系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij idea
编织幻境的妖10 分钟前
Python with语句与上下文管理器详解
开发语言·数据库·python
盐焗西兰花12 分钟前
鸿蒙学习实战之路-Java 开发者快速上手 ArkTS 指南
java·学习·harmonyos