如何优雅的使用contorller层

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

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

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

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

  • 响应数据(response)

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

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

    接收请求并解析参数;

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

    捕获业务异常做出反馈;

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

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

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

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

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

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

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

优雅写法三:参数校验

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

相关推荐
天天进步201514 分钟前
Python全栈项目--智能办公自动化系统
开发语言·python
Co_Hui20 分钟前
Java 并发编程
java
cm04Z9c911 小时前
C#摸鱼实录——IoC与DI案例详解
开发语言·c#
long3161 小时前
Java 新手入门与实战开发指南
java·开发语言
摩西蒙1 小时前
计算机网络
开发语言·计算机网络·php
山峰哥2 小时前
数据库性能救星:Explain执行计划深度拆解
服务器·开发语言·数据库·sql·启发式算法
执笔画流年呀2 小时前
Linux搭建Java项目部署环境
java·linux·运维
程序员天天困2 小时前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端
IT_Octopus2 小时前
Spring Boot 中 ThreadLocal 请求上下文的完整生命周期
java·spring boot·spring
用户40966601317513 小时前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范