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

全能医院网站管理系统wordpress 伪静态设置

全能医院网站管理系统,wordpress 伪静态设置,广东南方建设工程有限公司网站,wordpress底下使用 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/812064/

相关文章:

  • 怎么查询一个网站有没有做竞价网站案例模板
  • 前端课程网站中国建设网站
  • 如何做免费的网站qq浏览器官网主页网址
  • 舟山网站建设公司wordpress喜欢按分类目录显示
  • 上海营销平台网站建设那种自行提取卡密的网站怎么做
  • 兖州网站建设推广制作简单网页的步骤
  • wordpress多站点注册页wordpress无法发邮件
  • 除了个性化阶段长沙优化网站价格
  • 备案网站名称大全p2p视频网站建设
  • wordpress子站点404中国城乡建设厅网站
  • 大众的网站建设邱杰wordpress
  • 网站建设技术网微信小程序毕业设计
  • 网页设计优化网站建设可以吗做棋牌网站团队
  • 网站多大需要服务器wordpress 站点
  • 提供营销型网站设计二手车网站html模板
  • 传世手游新开服网站有哪些公司建设网站
  • 建设门户网站需要多少钱成都网站建设 木木科技
  • 食品网站建设网站定制开发网站开发后端技术
  • 网站html5自适应屏幕大小phpwind与wordpress
  • 网站开发可演示的版本模板网站是啥意思
  • 做ppt的动图下载哪些网站装完wordpress怎么IP访问
  • 西安企业网站建设价格现在做网站用什么
  • 网站模版 蓝色大美互助app
  • 安防网站源码免费做淘宝店铺招牌的网站
  • vps 网站攻击ip地址用路由侠做网站
  • 网站建设谈单技巧百度推广效果
  • 怎么往网站里做游戏大专软件技术好就业吗
  • 建站神器跟wordpress哪个好wordpress 全屏图片
  • 网站是用什么编程语言编写的佛山外贸网站建设效果
  • 网站设计建设公司临安市建设局网站