org.springframework.boot spring-boot-starter-validation
- package com.cqec.admin.advice;
-
- import com.cqec.common.base.BaseResult;
- import com.cqec.common.constant.PlatforEnums;
- import com.cqec.common.exception.BusinessException;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.dao.DuplicateKeyException;
- import org.springframework.dao.OptimisticLockingFailureException;
- import org.springframework.http.HttpStatus;
- import org.springframework.validation.BindException;
- import org.springframework.validation.ObjectError;
- import org.springframework.web.bind.MethodArgumentNotValidException;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.RestControllerAdvice;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.validation.ConstraintViolation;
- import javax.validation.ConstraintViolationException;
- import java.util.stream.Collectors;
-
- /**
- *
- * 业务异常统一拦截处理
- *
- *
- * @author woo
- * @since 2019/12/29
- */
- @RestControllerAdvice
- @Slf4j
- public class UnityExceptionHandler {
-
- /**
- * 分割符
- */
- private static final String SEP_COMMA = ",";
-
-
- /**
- * bean参数验证 带requestbody的方式.
- *
- * @param ex RuntimeException
- * @return String
- */
- @ExceptionHandler(MethodArgumentNotValidException.class)
- public BaseResult validExceptionHandler(MethodArgumentNotValidException ex) {
- return BaseResult.fail(HttpStatus.BAD_REQUEST.value()+"", ex.getBindingResult().getAllErrors().stream().map(ObjectError::getDefaultMessage)
- .collect(Collectors.joining(",")));
- }
-
- /**
- * bean参数验证.
- *
- * @param ex RuntimeException
- * @return String
- */
- @ExceptionHandler(BindException.class)
- public BaseResult validExceptionHandler(BindException ex) {
- return BaseResult.fail(HttpStatus.BAD_REQUEST.value()+"", ex.getAllErrors().stream().map(ObjectError::getDefaultMessage)
- .collect(Collectors.joining(SEP_COMMA)));
- }
-
- /**
- * 单个参数验证.
- *
- * @param ex RuntimeException
- * @return String
- */
- @ExceptionHandler(ConstraintViolationException.class)
- public BaseResult validExceptionHandler(ConstraintViolationException ex) {
- return BaseResult.fail(HttpStatus.BAD_REQUEST.value()+"", ex.getConstraintViolations().stream().map(ConstraintViolation::getMessage)
- .collect(Collectors.joining(SEP_COMMA)));
- }
-
-
- }
- package com.cqec.admin.mapper.entity;
-
- import javax.validation.constraints.NotBlank;
- import java.util.Date;
-
- @Data
- public class User{
- /**
- * id
- */
- private Long id;
-
-
-
- /**
- * 名字
- */
- @NotBlank(message = "名字不能为空")
- private String name;
-
- /**
- * 电话号码
- */
- @NotBlank(message = "电话号码不能为空")
- private String phone;
-
-
- }
- import com.cqec.admin.manager.TokenManager;
- import com.cqec.admin.mapper.entity.ChildWaterMeterTable;
- import com.cqec.admin.request.ChildWaterMeterInfoPageRequestVO;
- import com.cqec.admin.request.WaterMeterCoverSendOrderRequest;
- import com.cqec.admin.request.WaterMeterDataImageRequestVO;
- import com.cqec.admin.resultVO.ChildWaterMeterInfoResultVO;
- import com.cqec.admin.resultVO.WaterMeterDataImageResultVO;
- import com.cqec.admin.service.WaterMeterCoverService;
- import com.cqec.admin.util.TokenUtil;
- import com.cqec.common.base.BasePageResultDto;
- import com.cqec.common.base.BaseResult;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.List
- @RestController
- @RequestMapping("/user")
- public class WaterMeterCoverController {
- /**
- * 新增用户
- * @param childWaterMeterTable
- * @return
- */
- @PostMapping("/addWaterMeterCover")
- public BaseResult
addChildWaterMeter(@Validated @RequestBody User user){ -
- return user;
- }
- }
如果name和phone不传 会返回
{
"code": "400",
"message": "名字不能为空,电话号码不能为空",
"data": null
}