Spring Boot笔记-validation的使用及统一异常处理
这里以JPA后端分页为例,演示下validation的使用,及统一异常处理。
正常分页查询:
page页是从0开始的,我这里返回的时候,给他加1了。这里要注意。
当出现异常的查询时:
及
这里的关键异常处理是这个类:
/**** 统一异常处理、数据预处理*/
@ControllerAdvice
public class ControllerExceptionHandler {@ExceptionHandler(value = BindException.class)@ResponseBodypublic CommonResp validExceptionHandler(BindException e){CommonResp commonResp = new CommonResp();commonResp.setSuccess(false);e.printStackTrace();commonResp.setMessage(e.getBindingResult().getAllErrors().get(0).getDefaultMessage());return commonResp;}
}
其中BindException就是validation的异常
对应的validation设置的类为:
package cn.it1995.req;import lombok.Data;import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;@Data
public class PageRequest {@NotNull(message = "页码不能为空")@Min(value = 0, message = "页码不能为负")private Integer page;@NotNull(message = "每页条数不能为空")@Min(value = 1, message = "每页条数至少为1条")@Max(value = 1000, message = "每页条数不能超过1000")private Integer size;
}
要使用validation需要在maven中添加:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>
源码打包下载地址:
https://github.com/fengfanchen/Java/tree/master/JPAPageable
Spring Boot笔记-validation的使用及统一异常处理相关推荐
- Spring Cloud实战小贴士:Zuul统一异常处理(一)
在上一篇<Spring Cloud源码分析(四)Zuul:核心过滤器>一文中,我们详细介绍了Spring Cloud Zuul中自己实现的一些核心过滤器,以及这些过滤器在请求生命周期中的不 ...
- Spring Cloud实战小贴士:Zuul统一异常处理(二)
在前几天发布的<Spring Cloud实战小贴士:Zuul统一异常处理(一)>一文中,我们详细说明了当Zuul的过滤器中抛出异常时会发生客户端没有返回任何内容的问题以及针对这个问题的两种 ...
- Spring Cloud实战小贴士:Zuul统一异常处理(三)【Dalston版】
本篇作为<Spring Cloud微服务实战>一书关于Spring Cloud Zuul网关在Dalston版本对异常处理的补充.没有看过本书的读书也不要紧,可以先阅读我之前的两篇博文:& ...
- Spring Boot笔记-404错误统一管理
这里有一点要注意: spring boot错误的页面都会到error的请求中,所以可以用如下的方式统一管理 package com.xxxxx.apc.controller;import com.ap ...
- Spring Boot笔记总结
总结一下自己最近学的springboot笔记 yaml语法 #对象 student:name: juziage: 666 #行内写法 kid: {name: jujuju,age: 888}#数组 c ...
- Spring Boot笔记-普通异常错误截取及构造错误页面
在web开发过程中,数据问题会有异常,会抛到页面上,这样造成用户体验差. 目前这个笔记是使用Spring Boot获取异常,并构造新的界面 程序运行截图如下: 另外一个: 这样的话就达到了页面友好的效 ...
- Spring Boot【定制化】~ AOP统一结果处理以及异常拦截
1.简介 用处:统一结果处理与异常拦截. 2.配置步骤 2.1.创建一个spring boot项目(idea) 完整项目结构! 2.2.导入依赖(需要使用到简化环境搭建) <!-- Spring ...
- Spring Boot笔记—多线程系列(三)—配置参数详解
前言 前两篇文章,我们已经学会了如何使用spring boot的多线程和自定义线程池.这篇文章,我们要深入了解上一篇文章中线程池的配置具体含义. 准备工作 说明 为了方便观察线程的情况(如执行完毕数量 ...
- 动力节点王鹤Spring Boot笔记
多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能. 如果必 ...
最新文章
- 限流降级神器-哨兵(sentinel)原理分析
- 词移距离 Word Mover‘s Distance
- Python 学习散记
- 增强画面纵深感的几个小技巧
- Equipment upload - ERP ACK
- 量角器中Selenium定位器的完整指南(示例)
- LeetCode 979. 在二叉树中分配硬币(DFS)
- pure tornado -- table
- css3 animation
- 用法 the_英语冠词:不定冠词a,an和定冠词the的用法
- JavaScript开发者的工具箱
- 算法设计与分析(未完待续)
- Milvus带你实现轻松搭建以图搜图系统
- 新视角 | 新形势下工厂设备管理的5大误区
- 自动对焦模块理论基础及其硬件实现浅析(二)
- QNX Neutrino RTOS简介
- 谈谈游戏中的帮派设计
- 1到n的数按字典序排序
- SQL server学习(五)T-SQL编程之存储过程
- table 中th高度固定