Spring @Valid 参数校验 @RestControllerAdvice自定义返回值 不生效

1 篇文章 0 订阅
1 篇文章 0 订阅

如果确保代码没有任何问题,检查下 下列几项:

  1. 方法上增加需要捕获的HTTP状态码 @ResponseStatus(HttpStatus.BAD_REQUEST)
  /**
   * 参数解析失败异常
   */
  @ExceptionHandler(HttpMessageNotReadableException.class)
  @ResponseStatus(HttpStatus.BAD_REQUEST)
  @ResponseBody
  public ResponseMsg methodHttpMessageNotReadableException(HttpMessageNotReadableException e) {
    log.error("参数解析失败", e);
    return new ResponseMsg(ErrorCode.PARAM_FAIL);
  }
  1. 配置没有被扫描到,解决办法:配置文件需要开启:spring.mvc.throw-exception-if-no-handler-found: true 设置
spring:
	mvc:
    	throw-exception-if-no-handler-found: true
  1. 全局捕获异常处理类没有被扫描到,全局异常404异常默认是不会拦截,需要在yml文件中加入以下配置,解决办法:启动类增加 @SpringBootApplication(scanBasePackages = {“com.yang”})
@SpringBootApplication(scanBasePackages = {"com.yang"})
public class Application{
  public static void main(String[] args) {
    SpringApplication.run(Application.class , args);
  }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值