为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第18天 单表管理功能前后端开发

标签:
Spring Cloud

课程名称:Spring Cloud+ Vue前后端分离开发企业级在线视频系统

课程章节:第5章 单表管理功能前后端开发

讲师姓名:甲蛙老师

课程内容

后端数据校验:增加后端校验工具类ValidatorUtil,增加统一异常处理,ControllerExceptionHandler,关键字:@ControllerAdvice

课程收获

在前端校验的同时应该要对后端接口也进行校验,用户使用postman等软件对接口进行访问时,如果后端没有做校验就会出错误,所以前端校验是辅助,后端校验是核心。后端校验必不可少。

       首先为了校验新建一个校验异常类,继承自RuntimeException,同时使用统一异常处理来报出来,使用@ControllerAdvice注解。

ControllerAdvice是Controller增强器,可以对Controller做统一的处理,如异常处理,数据处理等

@ControllerAdvice
public class ControllerExceptionHandler {

   
private static final Logger LOG = LoggerFactory.getLogger(ControllerExceptionHandler.class);

   
@ExceptionHandler(value = ValidatorException.class)
   
@ResponseBody
   
public ResponseDto validatorExceptionHandler(ValidatorException e) {
//        return ResponseDto.error(e.getMessage());
       
return ResponseDto.error("请求参数异常");
    }
}


 

       有时候我们的接口原本是不对外的,或者只跟特定的第三方应用做对接,这时为了内部安全,不应该把参数的校验规则暴露出去,所以需要模糊返回信息。类似登录接口应该返回“用户名或密码错误”而不是用户名不存在或密码错误(容易被探测)如果开发过程中提示“请求参数异常”,说明后端有校验拦截,而前端没有。此时应该把前端校验加上。

通过使用校验工具类完成数据校验

// 保存校验
ValidatorUtil.require(chapterDto.getName(), "名称");
ValidatorUtil.require(chapterDto.getCourseId(), "课程ID");
ValidatorUtil.length(chapterDto.getCourseId(), "课程ID", 1, 8);


 

https://img4.sycdn.imooc.com/63670c9f0001e6a519170918.jpg

https://img3.sycdn.imooc.com/63670ca7000102fb19200385.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消