springboot 自動以全局異常攔截 mvc 參數綁定

全局異常攔截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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章