网站开发人员招聘it管理,免费发布推广信息的平台,如何拿高权重网站外链进行互换?,派遣公司做网站的好处文章目录1. 引入依赖2. 校验规则3. 规则使用4. 自定义异常类5. 统一返回对象封装6. 统一异常对象7. 统一异常枚举8. 前端form表单输入#xff0c;自动触发校验1. 引入依赖 !--参数校验--dependencygroupIdorg.springframework.boot/groupId自动触发校验1. 引入依赖 !--参数校验--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId/dependency2. 校验规则
NotNull(message 【每页页码】不能为空)private int page;NotNull(message 【每页条数】不能为空)Max(value 100,message 【每页条数】不能超过100)3. 规则使用 public CommonResp list(Valid EbookQueryReq req) {}4. 自定义异常类
package com.jiawa.wiki.controller;import com.jiawa.wiki.exception.BusinessException;
import com.jiawa.wiki.resp.CommonResp;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.validation.BindException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;/*** 统一异常处理、数据预处理等*/
ControllerAdvice
public class ControllerExceptionHandler {private static final Logger LOG LoggerFactory.getLogger(ControllerExceptionHandler.class);/*** 校验异常统一处理* param e* return*/ExceptionHandler(value BindException.class)ResponseBodypublic CommonResp validExceptionHandler(BindException e) {CommonResp commonResp new CommonResp();LOG.warn(参数校验失败{}, e.getBindingResult().getAllErrors().get(0).getDefaultMessage());commonResp.setSuccess(false);commonResp.setMessage(e.getBindingResult().getAllErrors().get(0).getDefaultMessage());return commonResp;}5. 统一返回对象封装
package com.jiawa.wiki.resp;public class CommonRespT {/*** 业务上的成功或失败*/private boolean success true;/*** 返回信息*/private String message;/*** 返回泛型数据自定义类型*/private T content;public boolean getSuccess() {return success;}public void setSuccess(boolean success) {this.success success;}public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public T getContent() {return content;}public void setContent(T content) {this.content content;}Overridepublic String toString() {final StringBuffer sb new StringBuffer(ResponseDto{);sb.append(success).append(success);sb.append(, message).append(message).append(\);sb.append(, content).append(content);sb.append(});return sb.toString();}
}
6. 统一异常对象
package com.jiawa.wiki.exception;public class BusinessException extends RuntimeException{private BusinessExceptionCode code;public BusinessException (BusinessExceptionCode code) {super(code.getDesc());this.code code;}public BusinessExceptionCode getCode() {return code;}public void setCode(BusinessExceptionCode code) {this.code code;}/*** 不写入堆栈信息提高性能*/Overridepublic Throwable fillInStackTrace() {return this;}
}
7. 统一异常枚举
package com.jiawa.wiki.exception;public enum BusinessExceptionCode {USER_LOGIN_NAME_EXIST(登录名已存在),LOGIN_USER_ERROR(用户名不存在或密码错误),VOTE_REPEAT(您已点赞过),;private String desc;BusinessExceptionCode(String desc) {this.desc desc;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc desc;}
}
8. 前端form表单输入自动触发校验