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

深圳家装seo发包技术教程

深圳家装,seo发包技术教程,长沙短视频制作,知乎关键词排名优化工具Controller 层优化四步曲 前言 在开发过程中#xff0c;Controller 层作为系统与外界交互的桥梁#xff0c;承担着接收请求、解析参数、调用业务逻辑、处理异常等职责。 然而#xff0c;随着业务复杂度的增加#xff0c;Controller 层的代码往往会变得臃肿且难以维护。 …Controller 层优化四步曲 前言 在开发过程中Controller 层作为系统与外界交互的桥梁承担着接收请求、解析参数、调用业务逻辑、处理异常等职责。 然而随着业务复杂度的增加Controller 层的代码往往会变得臃肿且难以维护。 为了提升代码的可读性、可维护性以及系统的健壮性我们可以通过以下四个步骤对 Controller 层进行改造 统一返回结构统一包装处理参数校验自定义异常与统一拦截异常 1.统一返回结构 在前后端分离的架构中统一的返回结构能够显著提升接口的可读性和可维护性。 通过定义统一的返回格式前端开发人员可以更清晰地判断接口调用是否成功而不需要依赖返回值的具体内容。 定义返回数据结构 首先我们可以定义一个通用的返回结构包含状态码、状态信息以及返回的数据。 以下是一个示例 Data NoArgsConstructor AllArgsConstructor public class ResultT {private Integer code;private String message;private T data;public static T ResultT success(T data) {return new Result(200, 操作成功, data);}public static T ResultT error(String message) {return new Result(500, message, null);} }在这个结构中code 表示状态码message 表示状态信息data 则是具体的返回数据。 通过这种方式所有的接口都可以返回统一的格式便于前端处理。 2.统一包装处理 为了进一步简化 Controller 层的代码我们可以使用 Spring 提供的 ResponseBodyAdvice 来统一处理返回值的包装。 这样Controller 层只需要返回业务数据而不需要手动封装返回结构。 使用 ResponseBodyAdvice 进行统一包装 RestControllerAdvice public class ResponseAdvice implements ResponseBodyAdviceObject {Overridepublic boolean supports(MethodParameter returnType, Class? extends HttpMessageConverter? converterType) {return true;}Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,Class? extends HttpMessageConverter? selectedConverterType,ServerHttpRequest request, ServerHttpResponse response) {if (body instanceof Result) {return body;}return Result.success(body);} }通过这种方式所有的 Controller 返回值都会被自动包装成 Result 对象减少了重复代码。 3. 参数校验 参数校验是保证系统健壮性的重要手段。通过将参数校验逻辑从业务代码中剥离出来不仅可以减少代码的耦合度还能提升代码的可读性。 使用 Validated 进行参数校验 Spring 提供了 Validated 注解可以方便地对请求参数进行校验。 我们可以在 DTO 对象中定义校验规则并在 Controller 方法中使用 Validated 注解进行校验。 Data public class UserDTO {NotBlank(message 用户名不能为空)private String username;NotBlank(message 密码不能为空)Length(min 6, max 20, message 密码长度必须在6到20之间)private String password;Email(message 邮箱格式不正确)private String email; }RestController RequestMapping(/user) public class UserController {PostMapping(/register)public ResultString register(RequestBody Validated UserDTO userDTO) {// 业务逻辑return Result.success(注册成功);} }通过这种方式参数校验的逻辑与业务逻辑完全解耦代码更加清晰。 自定义异常与统一拦截异常 在实际开发中系统可能会抛出各种异常。 为了提升系统的健壮性我们可以自定义异常并通过统一的异常拦截器来处理这些异常。 自定义异常 我们可以根据业务需求定义不同的异常类例如 BusinessException 和 ForbiddenException public class BusinessException extends RuntimeException {public BusinessException(String message) {super(message);} }public class ForbiddenException extends RuntimeException {public ForbiddenException(String message) {super(message);} }统一异常拦截 通过 RestControllerAdvice 和 ExceptionHandler我们可以统一处理系统中的异常并返回统一的错误信息。 RestControllerAdvice public class GlobalExceptionHandler {ExceptionHandler(BusinessException.class)public ResultString handleBusinessException(BusinessException ex) {return Result.error(ex.getMessage());}ExceptionHandler(ForbiddenException.class)public ResultString handleForbiddenException(ForbiddenException ex) {return Result.error(无权访问);}ExceptionHandler(Exception.class)public ResultString handleException(Exception ex) {return Result.error(系统异常请稍后重试);} }通过这种方式所有的异常都会被统一处理并返回给前端统一的错误格式。 总结 通过对 Controller 层的改造我们可以显著提升代码的可读性、可维护性以及系统的健壮性。 统一的返回结构、自动化的参数校验、自定义异常与统一拦截异常这些措施不仅减少了重复代码还使得代码更加清晰和易于维护。 在实际开发中我们可以根据具体的业务需求进一步优化和扩展这些策略。 – 欢迎点赞、关注、转发、收藏【我码玄黄】各大平台同名。
http://www.w-s-a.com/news/745552/

相关文章:

  • 网站加入wordpress邳州城乡建设局网站
  • 两个网站如何使用一个虚拟主机东莞市网站seo内容优化
  • 湖南网站建设公司排名傲派电子商务网站建设总结
  • 网站建设求职要求互联网挣钱项目平台
  • 网站权重怎么做做黑彩网站能赚钱吗
  • 三台建设局网站网页设计购物网站建设
  • thinkphp大型网站开发市场调研公司招聘
  • 天宁区建设局网站七冶建设集团网站 江苏
  • 越南网站 后缀湘潭新思维网站
  • 环球旅行社网站建设规划书网钛cms做的网站
  • 软件资源网站wordpress不能识别语言
  • 东坑仿做网站西安私人网站
  • 公司想做个网站怎么办如何搭建视频网站
  • .net网站架设凯里网站建设哪家好
  • seo网站建站建站国外百元服务器
  • 家具网站开发设计论文企业网站里面的qq咨询怎么做
  • 网站视频提取软件app淘宝店购买网站
  • 站长之家域名解析做百度推广网站咱们做
  • 行业 网站 方案莱州网站建设公司电话
  • 丹东谁做微网站威海网络科技有限公司
  • 寻找网站建设_网站外包自助打印微信小程序免费制作平台
  • 台式机网站建设vk社交网站做婚介
  • 创建网站得花多少钱网站建设的技术路线
  • 图书馆网站建设汇报免费编程软件哪个好用
  • 手机搭建网站工具网站搜索引擎优化的基本内容
  • 网站快速排名二手交易网站开发技术路线
  • 官方网站开发公司施工企业会计王玉红课后答案
  • 网站建设能用手机制作吗网站建设所需物资
  • 阜阳做网站的公司阳江招聘网最新消息
  • 织梦可以做哪些类型型网站wordpress 融资