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
}
上一篇:看图猜成语2一个风字向右斜
下一篇:描写房屋的句子