全局異常攔截Controller
@RestControllerAdvice public class UserExceptionTranslator { private static final Logger logger = LoggerFactory.getLogger(UserExceptionTranslator.class); private final ObjectMapper objectMapper = new ObjectMapper();
/** * @param ex * @Description: 參數校驗 * @Author: Mr.Zhong * @Date: 2019-09-13 21:26 */ @ExceptionHandler(MethodArgumentNotValidException.class) public LinkResponse validationBodyException(MethodArgumentNotValidException ex) { BindingResult result = ex.getBindingResult(); return LinkResponse.builder().baseResponse(999999, result.getFieldError().getDefaultMessage()).build(); } }
接參對象@Validated 註解一定要添加否則不會進行校驗
@ApiOperation("修改支付密碼前置數據") @PostMapping(value = "/account/password/update.do") public Result updatePassword(@Validated @RequestBody ModifyPayPasswordDTO request) { bizAccountService.updatePayPassword(RequestUserContext.getRequestUserId(), request.getValidCode(), request.getNewPayPassword()); return Result.success(); }
@Data @ApiModel("修改支付密碼") public class ModifyPayPasswordDTO { @NotBlank(message = "新支付密碼不能爲空") private String newPayPassword; @NotBlank(message = "短信驗證碼不能爲空") private String validCode; }