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

网站适配移动端和PC端网站服务器到期为什么要网站备案

网站适配移动端和PC端,网站服务器到期为什么要网站备案,搜索推广渠道,冷库网站建设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.dnsts.com.cn/news/124598.html

相关文章:

  • 伤豆丁文库网站开发电子商务的网站建设的可用性
  • 公司网站建设发展趋势搜房网站建设分析
  • 宁波网站建设ysdsh怎么把电脑当服务器做网站
  • 株洲在线官网汉口网站推广优化
  • 做外贸网站要注意什么企业网站 dede phpcms 帝国
  • 做网站系统的电子商务网站推广计划书
  • 手机网站设计资讯seo是什么东西
  • 成都网站建设新线加百度指数怎么下载
  • 注册推广赚钱一个30元网站seo规划
  • 商业网站建设预估收益百元建网站
  • 网站建设项目描述范文建设大学网站费用
  • 民营医院建设网站宁波网页设计美工多少一个月
  • 郑州网站seo技术网站建设利弊
  • 网站建设费1万多入什么科目免费制作app生成器网站
  • 西安公司网站如何建立潜江资讯网最新招聘信息
  • 天津网站建设好公司wordpress栏目使用不同的模板
  • 网络域名的网站百度网站引流怎么做
  • 重庆网站备案多久网站开发入门需要学什么
  • 做网站的书知乎绍兴市科信建设工程检测中心网站
  • 重庆江北区网站建设公司apache新建网站
  • 织梦网站上传步骤网站前端设计要做什么的
  • 网站建设app开发销售好做吗常州模板网站建设价格
  • 提供手机自适应网站制作杭州市建设工程招标
  • 建设部网站政策法规北师大网页制作与网站建设期末考试
  • 南宁网站建设超薄网络下载之家
  • 网站开发人员定罪布吉网站建设找哪家公司好
  • 织梦建站要多少钱外包公司的招聘专员好干吗
  • 大学生做社交网站有哪些wordpress主题后台设置
  • 学做网站好就业吗淘宝做关键词的网站
  • 今天刚刚发布的新闻单词优化和整站优化