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

网站原图怎么做网件路由器设置教程

网站原图怎么做,网件路由器设置教程,欧莱雅的网络营销策划方案,代理网站有什么用前言 我们为什么要设置统一返回响应 提高代码的可维护性#xff1a;通过统一返回请求的格式#xff0c;可以使代码更加清晰和易于维护#xff0c;减少重复的代码#xff0c;提高代码质量。 便于调试和测试#xff1a;统一的返回格式使得在调试和测试时更为简单#xff…前言 我们为什么要设置统一返回响应 提高代码的可维护性通过统一返回请求的格式可以使代码更加清晰和易于维护减少重复的代码提高代码质量。 便于调试和测试统一的返回格式使得在调试和测试时更为简单可以快速定位和解决问题。 增强系统的可靠性统一的返回格式有助于保证系统的稳定性和一致性减少因不同模块返回格式不统一而导致的错误。 提升用户体验统一的返回格式使得前端处理更加便捷提高了响应速度提升了用户体验。 便于日志记录和监控统一的返回格式便于记录和监控系统的运行状态方便进行故障排查和性能优化。 简化前后端接口对接前后端约定统一的返回格式后接口对接工作会变得更加顺畅减少沟通成本和开发时间。 提高扩展性统一的返回格式有利于系统扩展当需要新增功能或模块时只需遵循既定的返回格式无需大规模修改已有代码。 保证数据安全通过统一的返回格式可以更好地控制返回的数据内容避免敏感信息的泄露提高数据安全性。 确定响应实体 我们首先要定义一个公共的接口响应实体以后所有的接口返回值都是返回的这个公共响应实体。 这样做的好处是可以统一返回值的风格编译接口的维护。 需要包含3个关键的成员变量 状态码返回信息数据 /*** api请求响应实体** author * date */ AllArgsConstructor Data public class ApiResultT {/*** 请求成功状态码*/public static final int OK HttpStatus.HTTP_OK;/*** 接口返回码*/private int code;/*** 接口返回信息*/private String message;/*** 数据*/private T data; }确定响应实体工具类 为了更加优雅的创建相应实体类我们可以增加一个专门的工具类。 这个工具类的职责是创建上面的ApiResult类的实例。 当然有两种情况 /*** api请求响应实体处理工具类**/ public class ApiResultUtil {private ApiResultUtil() {}/*** 请求成功** param data 数据* param T 数据类型* return 接口相应实体*/public static T ApiResultT success(T data) {return new ApiResult(ApiResult.OK, null, data);}/*** 请求成功** param T 数据类型* return 接口相应实体*/public static T ApiResultT success() {return success(null);}/*** 请求成功** param code 返回码* param message 返回信息* param T 数据类型* return 接口相应实体*/public static T ApiResultT error(int code, String message) {return new ApiResult(code, message, null);} }ApiResultUtil工具类中包含了两个重载的success方法主要是处理接口请求成功的情况。 而error方法主要是为了处理接口请求出现异常的情况。 需要注意的是ApiResultUtil类有一个私有的无参构造方法是为了防止调用者new这个类的实例对象的一种常规做法很多JDK源码中都有类似的做法。 业务异常 有了上面公共的响应实体类我们可以先处理异常了。 但异常有两种 系统异常业务异常 系统异常我们在统一处理时错误码都返回500没问题。 但如果有些业务异常错误码都返回500这种设计不太合理。 因此我们需要增加一个专门的业务异常类BusinessException。 AllArgsConstructor Data public class BusinessException extends RuntimeException {public static final long serialVersionUID -6735897190745766939L;/*** 异常码*/private int code;/*** 具体异常信息*/private String message;public BusinessException() {super();} }这个异常类继承了RuntimeException类是一种运行时异常后面好处理。 包含了两个成员变量 code表示异常码message表示异常信息 比如用户添加接口中出现用户名称相同时异常信息可以提示用户名称重复。 全局异常处理 接下来我们可以统一处理全局异常了。 在Spring MVC中可以通过RestControllerAdvice注解处理全局异常 Slf4j RestControllerAdvice public class GlobalExceptionHandler {/*** 统一处理异常** param e 异常* return API请求响应实体*/ExceptionHandler(Throwable.class)public ApiResult handleException(Throwable e) {if (e instanceof BusinessException) {BusinessException businessException (BusinessException) e;log.info(请求出现业务异常, e);return ApiResultUtil.error(businessException.getCode(), businessException.getMessage());}log.error(请求出现系统异常, e);return ApiResultUtil.error(HttpStatus.INTERNAL_SERVER_ERROR.value(), 服务器内部错误);} }正常接口响应处理 ControllerAdvice public class GlobalApiResultHandler implements ResponseBodyAdviceObject {Overridepublic boolean supports(MethodParameter returnType, Class? extends HttpMessageConverter? converterType) {ServletRequestAttributes sra (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request sra.getRequest();String requestURI request.getRequestURI();return matchUrl(requestURI);}private boolean matchUrl(String uri) {if (StringUtils.isBlank(uri)) {return false;}return uri.contains(/v1);}Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class? extends HttpMessageConverter? selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {if (body instanceof ApiResult) {return (ApiResult) body;}return ApiResultUtil.success(body);} }
http://www.dnsts.com.cn/news/162077.html

相关文章:

  • 佛山专业网站建设价格牡丹江出现一例
  • 中国建设银行手机版网站首页温州 网站优化
  • 如何建设网站视频在线设计平台代理加盟
  • 泉州网络公司排名苏州网站排名优化
  • 不会网站维护可以做吗万网定制网站怎么样
  • 龙岗住房建设局网站wordpress调用面包屑
  • 手机网站 焦点图wordpress显示标签页
  • 网站首页不见怎么做自媒体app推广
  • 企业如何实现高端网站建设软件开发管理工具
  • 做一个高端网站多少钱国际军事新闻最新消息头条
  • 一般自己怎么做网站i57500网站开发
  • 女士服装定制网站域名做网站
  • 2017网站设计趋势WordPress网站被恶意登录
  • 深圳网站开发工程师阿里云备案网站备案域名购买
  • 济宁 做网站2345网址大全最新版下载
  • 山东省建设工程管理局网站国内外网站开发技术有哪些
  • 网站对公司的意义网页颜色搭配的推荐
  • 重庆智能网站建设哪里有北京h5网页设计
  • 公司建设网站算入什么会计科目网站那个做的比较好的
  • 满屏网站设计做多大洛阳便宜网站建设报价
  • 国外创意型网站设计网页特效代码免费网站
  • 网站开发背景设置网站提交链接入口
  • 深圳网站建设 骏域网站建设网站运行模式
  • 沈阳市住房和城乡建设部网站网站开发和网络安全
  • 可以用wpf做网站吗内蒙古呼和浩特
  • 杭州网站建设招聘Wordpress博客cdn
  • 成都建设网站报价给企业做网站收入
  • 广州做啊里巴巴网站多少钱wordpress评论img标签
  • 做一家网站费用wordpress pc6
  • 学建网站企业微信怎么申请