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

深圳招聘网站前十排名建筑设计和室内设计哪个好

深圳招聘网站前十排名,建筑设计和室内设计哪个好,手机网站开发怎么收费,北京企业建站团队使用 RestControllerAdvice 的主要场景包括: 全局异常处理:处理所有控制器中抛出的未捕获异常。数据校验失败处理:处理 Bean Validation 校验失败的情况。自定义响应:统一定义响应格式或错误信息。 RestControllerAdvice 注解的…

使用 @RestControllerAdvice 的主要场景包括:

  1. 全局异常处理:处理所有控制器中抛出的未捕获异常。
  2. 数据校验失败处理:处理 Bean Validation 校验失败的情况。
  3. 自定义响应:统一定义响应格式或错误信息。

@RestControllerAdvice 注解的类通常与以下组件结合使用:

  • @ExceptionHandler:用于处理特定的异常类型。
  • @ResponseStatus:用于定义异常的HTTP状态。
  • @ExceptionHandler 方法可以访问异常对象、请求对象(WebRequest)、响应对象等,以构造合适的响应。

以下是一个简单的示例,演示如何使用 @RestControllerAdvice

java

import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.http.HttpStatus;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;@RestControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {// 处理自定义异常@ExceptionHandler(CustomException.class)public ResponseEntity<String> handleCustomException(CustomException ex, WebRequest request) {// 构造错误信息String error = "An error occurred: " + ex.getMessage();return new ResponseEntity<>(error, HttpStatus.BAD_REQUEST);}// 可以添加更多的异常处理方法
}

在这个示例中,GlobalExceptionHandler 类使用 @RestControllerAdvice 注解标记,使其成为全局异常处理器。类中的 handleCustomException 方法使用 @ExceptionHandler 注解标记,用于处理 CustomException 类型的异常。

使用 @RestControllerAdvice 可以集中处理异常,使控制器代码更简洁、更专注于业务逻辑,同时提高异常处理的可维护性。


一个模拟权限校验的案例

首先自定义一个权限不够的异常

public class PermissionException extends Exception{// 构造函数public PermissionException() {super();}public PermissionException(String message) {super(message);}public PermissionException(String message, Throwable cause) {super(message, cause);}public PermissionException(Throwable cause) {super(cause);}
}

然后用注解的方式写一个异常处理类

@RestControllerAdvice
public class PermissionExceptionHandler {@ExceptionHandler(PermissionException.class)public Map handleMyCustomException(PermissionException ex) {Map<String, String> msg = new HashMap<>();msg.put("status","500");msg.put("msg","错误,没有权限");return  msg;}
}

然后写一个处理权限校验的拦截器

/*
* preHandle在执行处理器方法之前执行
* postHandle在执行处理器方法之后执行
* afterCompletion在这次请求完成后执行
* */
@Component
public class PermissionInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String auth = request.getParameter("auth");System.out.println(auth);if ("0".equals(auth)){throw new PermissionException();}//返回true放行,返回false不放行return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {HandlerInterceptor.super.afterCompletion(request, response, handler, ex);}
}

然后把拦截器注册到spring中

@Configuration
public class WebConfig implements WebMvcConfigurer {@Autowiredprivate HandlerInterceptor permissionInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(permissionInterceptor).addPathPatterns("/**") // 拦截所有请求.excludePathPatterns("/ignoreThis"); // 排除不需要拦截的请求}
}

然后你请求http://localhost:8080/user/1?auth=1

你会发现auth=1的时候拦截器放行

auth=0的时候会被拦截器拦截,并且抛出我们自定义的异常,然后自定义异常会被我们写的异常处理器监听到,最终给客户端返回没有权限 

http://www.yayakq.cn/news/249963/

相关文章:

  • 怎么做切片网站在什么网站可以接活做
  • 网站关闭与域名备案宜昌微网站建设
  • 卖机票的网站怎么做自助搭建网站
  • 山东省建设科技协会网站wap站是什么意思啊
  • 做网站的费用 可以抵扣吗wordpress主题 yusi
  • 获取网站状态安徽省博物馆网站建设
  • 网站程序 seoseo诊断表
  • 湖南营销型网站建设报价wordpress 开玩笑 呵
  • 贵阳网站开发哪家专业在线子域名二级域名查询工具
  • 做网站有什么好处东莞市建设信息网官网
  • 深圳网站建设要多少钱去哪找网站建设公司好
  • 网站建设文献英文在线考试类网站怎么做
  • 网络营销的网站分类有哪些搜狗推广入口
  • 网站建设要多少费用wordpress页面显示
  • 中国建设教育协会网站打不开济南地铁建设
  • 国际网站建设与维护大德通众包做网站怎么样
  • 网站开发需要学shenmehtml网站要怎么做
  • 高效的网站建设c2c的网站
  • 兰州市做网站的公司有哪些主页推广项目计划书
  • 长沙建设网站动力无限做网站怎样
  • 快速排名网站一步步教你做电商网站
  • 网站建设与管理实验目的电商培训机构需要什么资质
  • 教育行业网站设计山东网站建设好不好
  • 门户网站 商城系统静安网站建设关键词优化seo
  • 企业网站分析洛可可设计公司考察
  • 如何给自己的公司建网站网站 如何添加备案号
  • 企业网站建设服务哪家好网页设计学校网站制作
  • 春晗环境建设有限公司网站很小众却很惊艳的公众号名字
  • 怎么查找网站的根目录旅行网站信息技术化建设
  • 福州仓山区网站建设赣州市建设工程质量监督管理站网站