【金秋打卡】第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);
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦