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

网站建设公司营业范围wordpress dota主题

网站建设公司营业范围,wordpress dota主题,深圳优化排名公司,网站建设与管理教学大纲目录 背景 前言 设计步骤 1.定义异常信息类#xff1a; 2.自定义异常#xff1a; 3.创建全局异常处理类 4.在控制器中抛出异常 5.输出 捕获 Valid 校验异常 背景 去面试的时候被问到SpringBoot项目中#xff0c;如何处理全局异常的#xff0c;也就是如何捕获全局异…目录 背景 前言 设计步骤 1.定义异常信息类 2.自定义异常 3.创建全局异常处理类 4.在控制器中抛出异常 5.输出 捕获 Valid 校验异常 背景 去面试的时候被问到SpringBoot项目中如何处理全局异常的也就是如何捕获全局异常的 前言 在Spring Boot中捕获全局异常是一种有效的方式可以将应用程序中的所有异常集中处理提供统一的错误响应并且可以避免重复编写异常处理逻辑。实现全局异常处理通常使用ControllerAdvice注解来定义一个全局的异常处理类。在类中编写异常处理方法并使用ExceptionHandler注解指定要处理的异常类型。以下是具体的步骤和示例 设计步骤 1.定义异常信息类 通常情况下我们会定义一个通用的错误信息类用来包装异常信息返回给客户端。 public class ErrorDetails {private int statusCode;private String message;private String details;public ErrorDetails(int statusCode, String message, String details) {super();this.statusCode statusCode;this.message message;this.details details;}// Getters and Setterspublic int getStatusCode() {return statusCode;}public void setStatusCode(int statusCode) {this.statusCode statusCode;}public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public String getDetails() {return details;}public void setDetails(String details) {this.details details;} }2.自定义异常 在实际项目中我们通常会自定义一些异常比如资源未找到异常。 public class ResourceNotFoundException extends RuntimeException {public ResourceNotFoundException(String message) {super(message);} }3.创建全局异常处理类 首先我们需要创建一个带有 ControllerAdvice 注解的类这个类可以捕获应用程序中所有控制器controller抛出的异常。并使用ExceptionHandler注解指定要处理的异常类型。 import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.context.request.WebRequest;ControllerAdvice public class GlobalExceptionHandler {// 捕获特定异常ExceptionHandler(ResourceNotFoundException.class)public ResponseEntity? resourceNotFoundException(ResourceNotFoundException ex, WebRequest request) {ErrorDetails errorDetails new ErrorDetails(HttpStatus.NOT_FOUND.value(), ex.getMessage(), request.getDescription(false));return new ResponseEntity(errorDetails, HttpStatus.NOT_FOUND);}// 捕获全局异常ExceptionHandler(Exception.class)public ResponseEntity? globalExceptionHandler(Exception ex, WebRequest request) {ErrorDetails errorDetails new ErrorDetails(HttpStatus.INTERNAL_SERVER_ERROR.value(), ex.getMessage(), request.getDescription(false));return new ResponseEntity(errorDetails, HttpStatus.INTERNAL_SERVER_ERROR);} }4.在控制器中抛出异常 在控制器中可以抛出自定义的异常然后由全局异常处理类来捕获并处理。 RestController RequestMapping(/api) public class ExportController {Resourceprivate UserDao userDao;GetMapping(/resource/{id})public ResponseEntityUser getResourceById(PathVariable(value id) Integer id) {User user userDao.selectById(id);//模拟找不到情况然后会抛出异常被全局异常处理器捕捉到if(user null){throw new ResourceNotFoundException(Resource not found for this id :: id);}return ResponseEntity.ok(user);} } 5.输出 捕获 Valid 校验异常 如果你在控制器中使用 Valid 进行数据校验可以捕获校验失败时抛出的 MethodArgumentNotValidException。 import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException;ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler(MethodArgumentNotValidException.class)public ResponseEntity? handleValidationException(MethodArgumentNotValidException ex) {MapString, String errors new HashMap();ex.getBindingResult().getAllErrors().forEach((error) - {String fieldName ((FieldError) error).getField();String errorMessage error.getDefaultMessage();errors.put(fieldName, errorMessage);});return new ResponseEntity(errors, HttpStatus.BAD_REQUEST);} }总结 通过 ControllerAdvice 和 ExceptionHandler我们可以在 Spring Boot 中集中管理和处理异常。全局异常处理不仅提高了代码的可维护性还为用户提供了统一且友好的错误信息。同时还可以结合日志记录、监控等功能为应用提供全面的异常管理机制。
http://www.hkea.cn/news/14266461/

相关文章:

  • 如何建立一个网站卖东西wordpress 果酱小程序
  • 钓鱼网站制作步骤成都装饰公司前十强是哪几个
  • 专门做排行的网站wordpress搜索页面不同
  • 所有网站域名都有网站建设书籍目录
  • 网站内容建设需要注意哪些问题越南网站建设
  • 黄冈做网站的公司帝国建设网站
  • 微网站建设讯息广告公司首页
  • 池州网站制作德州网站网站建设
  • 网站设计的经营范围青岛企业建站
  • 全屏网站大小网站域名怎么注册
  • 光谷做网站推广电话做网站开发要学什么
  • 定制网站平台的安全设计阿里云clouder网站建设
  • 番禺制作网站设计WordPress连接不上FTP
  • 建设春秋龙卡信用卡网站网站建设技术教程视频
  • php网站配置说明哪个网站可以做效果图
  • 北京专业设计网站清空回收站 wordpress
  • 做移动网站设计卡盟建设vip网站
  • 如何选择购物网站建设手机网站轮播图
  • 北京网站设计公司地址南宁网站建设 超薄网络
  • 长沙做手机网站代客做网站
  • 网站设计模板照片吕梁seo网站建设
  • 深圳微信网站制作网页画图工具
  • 怎么搭建个人网站电脑做服务器设计在线看
  • 昆明建设厅网站百度账号快速注册
  • asp企业网站模版google提交网站入口
  • 翻译做网站wordpress文字大小
  • asp科技公司网站源码做网站怎么设置背景
  • 临县网站建设管理咨询网站
  • 网站开发技术岗位职责视频制作模板
  • 注册网站流程手机字体下载大全免费网站