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

网站如何做微信支付宝支付宝太原建站模板厂家

网站如何做微信支付宝支付宝,太原建站模板厂家,广州建设培训网站,军事新闻内容摘抄【SpringBoot3】全局异常处理 一、全局异常处理器step1#xff1a;创建收入数字的页面step2:创建控制器#xff0c;计算两个整数相除step3:创建自定义异常处理器step5#xff1a;创建给用提示的页面step6#xff1a;测试输入#xff08;10/0#xff09; 二、BeanValidato… 【SpringBoot3】全局异常处理 一、全局异常处理器step1创建收入数字的页面step2:创建控制器计算两个整数相除step3:创建自定义异常处理器step5创建给用提示的页面step6测试输入10/0 二、BeanValidator 异常处理step1:添加 JSR-303 依赖step2:创建 Bean 对象属性加入 JSR-303 注解step3:Controlller 接收请求step4:创建异常处理器step5测试 在 Controller 处理请求过程中发生了异常DispatcherServlet 将异常处理委托给异常处理器处理异常的类。实现 HandlerExceptionResolver 接口的都是异常处理类。 项目的异常一般集中处理定义全局异常处理器。在结合框架提供的注解诸如ExceptionHandlerControllerAdvice ,RestControllerAdvice 一起完成异常的处理。ControllerAdvice 与RestControllerAdvice 区别在于RestControllerAdvice 加了RepsonseBody。 一、全局异常处理器 需求应用计算两个数字相除当用户被除数为 0 发生异常。使用自定义异常处理器代替默认的异常处理程序 step1创建收入数字的页面 在 static 目录下创建 input.html , static 目录下的资源浏览器可以直接访问 !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body form actiondivide methodpost除nbsp;nbsp;nbsp;数:input typetext namen1 br/被除数:input typetext namen2 br/input typesubmit value计算 /form /body /htmlstep2:创建控制器计算两个整数相除 import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController;RestController public class NumberController {PostMapping(/divide)public String some(Integer n1,Integer n2){int result n1/n2;return n1/n2 result;} }step3:创建自定义异常处理器 import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap; import java.util.List; import java.util.Map;//控制器增强 ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler({ArithmeticException.class})public String handlerArtithmecticException(ArithmeticException e, Model model){String error e.getMessage();model.addAttribute(error,error);return exp;}/* ExceptionHandler({ArithmeticException.class})ResponseBodypublic MapString,String handlerArtithmecticException(ArithmeticException e){MapString,String errors new HashMap();errors.put(msg,e.getMessage());errors.put(tips,被除数不能为0);return errors;}*/ }step5创建给用提示的页面 在 resources/templates/ 创建 exp.html !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/title /head body h3显示异常信息div th:text ${error}/div /h3 /body /htmlstep6测试输入10/0 二、BeanValidator 异常处理 使用 JSR-303 验证参数时我们是在 Controller 方法声明BindingResult 对象获取校验结果。Controller 的方法很多每个方法都加入 BindingResult 处理检验参数比较繁琐。 校验参数失败抛出异常给框架异常处理器能够捕获到 MethodArgumentNotValidException它是 BindException 的子类。 BindException 异常实现了 BindingResult 接口异常类能够得到 BindingResult 对象进一步获取 JSR303 校 验的异常信息。 需求全局处理 JSR-303 校验异常 step1:添加 JSR-303 依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId/dependencystep2:创建 Bean 对象属性加入 JSR-303 注解 import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; import org.hibernate.validator.constraints.Range;Data public class OrderVO {NotBlank(message 订单名称不能为空)private String name;NotNull(message 商品必须有数量)Range(min 1,max 99,message 一个订单商品数量在{min} -- {max})private Integer amount;NotNull(message 用户不能为空)Min(value 1,message 从1开始)private Integer userId; } step3:Controlller 接收请求 import com.bjpowernode.exp.vo.OrderVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;RestController public class OrderController {PostMapping(/order/new)public String createOrder(Validated RequestBody OrderVO orderVO){return 订单信息 orderVO.toString();} }step4:创建异常处理器 import org.springframework.ui.Model; import org.springframework.validation.BindException; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap; import java.util.List; import java.util.Map;//控制器增强 ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler({ArithmeticException.class})public String handlerArtithmecticException(ArithmeticException e, Model model){String error e.getMessage();model.addAttribute(error,error);return exp;}/* ExceptionHandler({ArithmeticException.class})ResponseBodypublic MapString,String handlerArtithmecticException(ArithmeticException e){MapString,String errors new HashMap();errors.put(msg,e.getMessage());errors.put(tips,被除数不能为0);return errors;}*///处理JSR303 验证参数的异常//ExceptionHandler({BindException.class})ExceptionHandler({MethodArgumentNotValidException.class})ResponseBodypublic MapString,Object handlerJSR303Exception(MethodArgumentNotValidException e){System.out.println(JSR303);MapString,Object map new HashMap();BindingResult result e.getBindingResult();if(result.hasErrors()){ListFieldError fieldErrors result.getFieldErrors();for (int i 0; i fieldErrors.size(); i) {FieldError fieldError fieldErrors.get(i);map.put(i - fieldError.getField(), fieldError.getDefaultMessage());}}return map;} }核心代码 step5测试 POST http://localhost:8080/order/new Content-Type: application/json{name: 每日订单,amount: 0,userId: 0 }显示 { “1-amount”: “一个订单商品数量在1 – 99”, “0-userId”: “从1开始” }
http://www.hkea.cn/news/14484111/

相关文章:

  • 免费空间的个人网站wordpress下载验证码
  • 山东外贸网站建设怎么样重庆建站网站建设平台
  • 建站公司用的开源系统厦门 网站制作
  • 绿色软件下载网站推荐一级a做爰片免费网站孕交视频教程
  • 为什么要做网站推广做分析图超牛的地图网站
  • 优秀的公司网站微信个人小程序
  • 手机图片网站源码wordpress手机版怎么注册
  • o2o手机网站源码南京电子商务网站开发公司
  • 深圳鲜花团购网站建设贵阳营销型网站建设
  • 淄博网站制作建设公司企业网站建设
  • 网站建设中faqs的意思怎么做代刷网网站app
  • aspnet网站开发实例项目成都广告设计制作公司
  • 网站建设案例实录应用商店下载安装正版最新版
  • 佛山网站优化软件windows网站模板
  • 青岛网站建设eoeeoe公司名字查询
  • 四方区企业型网站建设常州网站建设联系电话
  • 如何进行网站的建设和维护正规的现货交易平台
  • 网站怎么加载图片做logo搭建软件
  • 关于网站建设的方案ppt哈尔滨模板建站定制网站
  • 服饰网站模板设计网页设计图片修改后是否可以商用
  • 网站程序引擎网站建设的网站分析怎么写
  • 制作网站要多少钱法律推广网站
  • 哪里可以做足球网站网络推广 SEO优化 网站建设
  • 机关网站建设费入什么科目衡阳哪有做网站推广的
  • 南京建网站找哪家好垂直电商网站如何做内容运营
  • 国外服务器网站微信小程序制作软件哪个好
  • 淘宝客网站开发教程wordpress 支持rar
  • 建设人才网站建站服务的网络公司有哪些
  • 手机网站系统国内知名企业网站
  • 美橙建站十四年做视频小网站犯法吗