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

宁德市蕉城区建设局网站手机网站建设软件有哪些方面

宁德市蕉城区建设局网站,手机网站建设软件有哪些方面,杭州免费网站制作,江门网站推广哪里专业提示#xff1a;这一篇文章#xff0c;主要是为了之后可以快速的去搭建项目#xff0c;当然这篇博客#xff0c;作者也会根据以后学习到的东西#xff0c;慢慢去整理 文章目录 前言 搭建一个SpringBoot项目#xff0c;目的是为了快速开发项目 项目列表 响应枚举类 /***… 提示这一篇文章主要是为了之后可以快速的去搭建项目当然这篇博客作者也会根据以后学习到的东西慢慢去整理 文章目录 前言 搭建一个SpringBoot项目目的是为了快速开发项目 项目列表 响应枚举类 /*** 响应码枚举类用于定义系统中各种操作的返回码及其对应的信息。*/ public enum ResponseCodeEnum {// 请求成功CODE_200(200, 请求成功),// 请求的资源不存在CODE_404(404, 请求地址不存在),// 请求参数错误CODE_600(600, 请求参数错误),// 信息已存在通常用于数据重复的场景CODE_601(601, 信息已经存在),// 服务器内部错误需要管理员处理CODE_500(500, 服务器返回错误请联系管理员);// 响应码private Integer code;// 响应信息private String msg;/*** 构造方法用于初始化枚举值。* param code 响应码* param msg 响应信息*/ResponseCodeEnum(Integer code, String msg) {this.code code;this.msg msg;}/*** 获取响应码。* return 响应码*/public Integer getCode() {return code;}/*** 获取响应信息。* return 响应信息*/public String getMsg() {return msg;} } 响应数据包装类 /*** 响应数据的通用包装类用于封装接口调用的返回结果。* p* 该类提供了对响应状态、响应码、响应信息和响应数据的封装适用于各种接口返回数据的统一格式化。* 通过泛型T的支持可以灵活地携带各种类型的响应数据。** param T 响应数据的类型使用泛型提供类型安全性和灵活性。*/ public class ResponseVOT {/*** 响应的状态用于表示接口调用的总体状态例如success表示成功。*/private String status;/*** 响应码用于更详细地表示接口调用的结果状态例如200表示成功。*/private Integer code;/*** 响应信息用于对响应状态进行描述例如操作成功。*/private String info;/*** 响应数据接口调用的实际返回数据其类型由泛型T指定。*/private T data;/*** 获取响应的状态。** return 响应的状态字符串。*/public String getStatus() {return status;}/*** 设置响应的状态。** param status 响应的状态字符串。*/public void setStatus(String status) {this.status status;}/*** 获取响应码。** return 响应的码值。*/public Integer getCode() {return code;}/*** 设置响应码。** param code 响应的码值。*/public void setCode(Integer code) {this.code code;}/*** 获取响应信息。** return 响应的信息字符串。*/public String getInfo() {return info;}/*** 设置响应信息。** param info 响应的信息字符串。*/public void setInfo(String info) {this.info info;}/*** 获取响应数据。** return 响应的数据对象其类型为泛型T。*/public T getData() {return data;}/*** 设置响应数据。** param data 响应的数据对象其类型为泛型T。*/public void setData(T data) {this.data data;} } 异常类 /*** 业务异常类用于表示在业务逻辑执行过程中发生的异常情况。* 继承自RuntimeException因为它是一种非检查Unchecked异常可以不强制在方法签名中声明。* 这使得业务异常的使用更加灵活能够更准确地反映业务逻辑中的错误情况。*/ public class BusinessException extends RuntimeException {/*** 错误代码枚举用于标准化错误代码和错误消息的映射。*/private ResponseCodeEnum codeEnum;/*** 错误代码用于标识具体的错误类型。*/private Integer code;/*** 错误消息用于描述错误的具体信息。*/private String message;/*** 带有错误消息和原因的构造函数。* * param message 错误消息* param e 异常原因*/public BusinessException(String message, Throwable e) {super(message, e);this.message message;}/*** 带有错误消息的构造函数。* * param message 错误消息*/public BusinessException(String message) {super(message);this.message message;}/*** 带有原因的构造函数。* * param e 异常原因*/public BusinessException(Throwable e) {super(e);}/*** 使用错误代码枚举构造业务异常。* * param codeEnum 错误代码枚举包含错误代码、错误消息等信息。*/public BusinessException(ResponseCodeEnum codeEnum) {super(codeEnum.getMsg());this.codeEnum codeEnum;this.code codeEnum.getCode();this.message codeEnum.getMsg();}/*** 带有错误代码和错误消息的构造函数。* * param code 错误代码* param message 错误消息*/public BusinessException(Integer code, String message) {super(message);this.code code;this.message message;}/*** 获取错误代码枚举。* * return 错误代码枚举*/public ResponseCodeEnum getCodeEnum() {return codeEnum;}/*** 获取错误代码。* * return 错误代码*/public Integer getCode() {return code;}/*** 获取错误消息。* * return 错误消息*/Overridepublic String getMessage() {return message;}/*** 重写fillInStackTrace方法返回当前异常实例。* 业务异常中通常不需要堆栈跟踪信息因此这个重写方法用于提高异常处理的性能。* * return 当前异常实例*//*** 重写fillInStackTrace 业务异常不需要堆栈信息提高效率.*/Overridepublic Throwable fillInStackTrace() {return this;} } 返回结果类 /*** 基础控制器类提供通用的响应构建方法。*/ public class ABaseController {/*** 表示操作成功的状态码。*/protected static final String STATUC_SUCCESS success;/*** 表示操作失败或出现错误的状态码。*/protected static final String STATUC_ERROR error;/*** 日志记录器用于记录控制器类的运行时日志。*/protected static final Logger logger LoggerFactory.getLogger(ABaseController.class);/*** 构建一个表示操作成功的响应。** param t 返回的数据对象。* param T 数据对象的类型。* return 带有成功状态的响应对象。*/protected T ResponseVO getSuccessResponseVO(T t) {ResponseVOT responseVO new ResponseVO();responseVO.setStatus(STATUC_SUCCESS);responseVO.setCode(ResponseCodeEnum.CODE_200.getCode());responseVO.setInfo(ResponseCodeEnum.CODE_200.getMsg());responseVO.setData(t);return responseVO;}/*** 构建一个表示业务错误的响应。** param e 业务异常对象包含错误代码和错误信息。* param t 返回的数据对象。* param T 数据对象的类型。* return 带有业务错误状态的响应对象。*/protected T ResponseVO getBusinessErrorResponseVO(BusinessException e, T t) {ResponseVO vo new ResponseVO();vo.setStatus(STATUC_ERROR);if (e.getCode() null) {vo.setCode(ResponseCodeEnum.CODE_600.getCode());} else {vo.setCode(e.getCode());}vo.setInfo(e.getMessage());vo.setData(t);return vo;}/*** 构建一个表示服务器错误的响应。** param t 返回的数据对象。* param T 数据对象的类型。* return 带有服务器错误状态的响应对象。*/protected T ResponseVO getServerErrorResponseVO(T t) {ResponseVO vo new ResponseVO();vo.setStatus(STATUC_ERROR);vo.setCode(ResponseCodeEnum.CODE_500.getCode());vo.setInfo(ResponseCodeEnum.CODE_500.getMsg());vo.setData(t);return vo;}} 异常处理器类 /*** 全局异常处理控制器继承自ABaseController用于处理应用程序抛出的异常。* 使用RestControllerAdvice注解标识这是一个全局异常处理类。*/ RestControllerAdvice public class AGlobalExceptionHandlerController extends ABaseController {private static final Logger logger LoggerFactory.getLogger(AGlobalExceptionHandlerController.class);/*** 处理所有类型的异常。* param e 抛出的异常对象。* param request HTTP请求对象用于获取请求URL。* return 返回一个封装了异常信息的ResponseVO对象。*/ExceptionHandler(value Exception.class)Object handleException(Exception e, HttpServletRequest request) {// 记录异常信息到日志logger.error(请求错误请求地址{},错误信息:, request.getRequestURL(), e);ResponseVO ajaxResponse new ResponseVO();// 根据不同的异常类型设置响应码和信息// 404 - 请求未找到if (e instanceof NoHandlerFoundException) {ajaxResponse.setCode(ResponseCodeEnum.CODE_404.getCode());ajaxResponse.setInfo(ResponseCodeEnum.CODE_404.getMsg());ajaxResponse.setStatus(STATUC_ERROR);} else if (e instanceof BusinessException) {// 业务异常// 业务错误BusinessException biz (BusinessException) e;ajaxResponse.setCode(biz.getCode() null ? ResponseCodeEnum.CODE_600.getCode() : biz.getCode());ajaxResponse.setInfo(biz.getMessage());ajaxResponse.setStatus(STATUC_ERROR);} else if (e instanceof BindException || e instanceof MethodArgumentTypeMismatchException) {// 参数绑定异常或参数类型不匹配异常// 参数类型错误ajaxResponse.setCode(ResponseCodeEnum.CODE_600.getCode());ajaxResponse.setInfo(ResponseCodeEnum.CODE_600.getMsg());ajaxResponse.setStatus(STATUC_ERROR);} else if (e instanceof DuplicateKeyException) {// 数据库主键重复异常// 主键冲突ajaxResponse.setCode(ResponseCodeEnum.CODE_601.getCode());ajaxResponse.setInfo(ResponseCodeEnum.CODE_601.getMsg());ajaxResponse.setStatus(STATUC_ERROR);} else {// 其他未指定的异常ajaxResponse.setCode(ResponseCodeEnum.CODE_500.getCode());ajaxResponse.setInfo(ResponseCodeEnum.CODE_500.getMsg());ajaxResponse.setStatus(STATUC_ERROR);}return ajaxResponse;} }测试类 RestController public class TestController extends ABaseController {RequestMapping(/test)public ResponseVO test(){throw new BusinessException(登陆密码错误);} } 响应结果
http://www.pierceye.com/news/638040/

相关文章:

  • 广告在线制作图片外贸推广建站蓝颜seo牛
  • 成都网站创建wordpress 未找到
  • 网站seo链接购买长宁广州网站建设
  • 网站分类导航代码wordpress笔记主题
  • 网站常用代码阿里云 全国网站建设
  • 盗取dede系统做的网站模板深圳建设工程信息网站
  • 百度SEO网站江门网站建设公司哪家好
  • 成都网站建设 四川冠辰科技php响应式网站
  • 大连网站建设辽icp备阿里云 网站
  • 网站开发前期准备做网站渠道
  • 网站根目录是哪里没有面板的服务器怎么建设网站
  • 济南市住房城乡建设网无锡优化网站公司
  • 公司网站设计好河南比较出名的外贸公司
  • 清除网站黑链湖州市住房和城乡建设局官方网站
  • 凡科网的网站建设好用吗网站开发过程的数据交互
  • 郑州做商城网站公司开发微信小程序流程
  • 宝安电子厂做网站外包app开发多少钱
  • 箱包 东莞网站建设公司网站建设与设计制作
  • 网站如何做点击链接地址直播平台排行榜前十名
  • 万网域名指向网站wordpress 下载媒体库
  • 小店网站制作php做的网站首页是什么文件
  • i深建官方网站淮南网络营销哪家强
  • 网上网站怎么做织梦网站模块
  • 怎么新建自己的网站百度广告推广费用
  • 北京 科技网站建设上海短视频推广公司
  • 帮别人做网站哪里可以接单大型网站开发团队的美工需要什么工作经验和教育背景及薪酬
  • 网站开发工程师社交哔哩哔哩网页版入口2023在线观看
  • 凡客 网站设计wordpress也没
  • 深圳的网站建设公司排名电话外呼系统呼叫中心系统
  • 2022没封的网站免费的闵行区网站建设