栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java controller输入的参数验证

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java controller输入的参数验证

验证controller输入的参数

使用 @Validated注解 heibarate的衍生框架好像

  • step1 pojo类对应的字段加上响应注解 分好组(如有的业务需要此字段不为空,有的不需要,不分组会。。。。)
    //参数校验 /changeAvtor 用户名不能为空
    public interface changeAvtor{}    

@NotBlank(message = "用户名不能为空",groups = {login.class,changeAvtor.class})
    @Length(min = 3,max = 12,message = "用户名长度3-12",groups = {login.class,changeAvtor.class})
    private String username;
  • 编写统一异常处理类 捕获验证产生的异常 并返回json字符串以提示
     * @Validated 传入参数异常 全局处理
     */
    @ExceptionHandler(ValidationException.class)
    @ResponseBody
    public Map globalExceptionForValidation(HttpServletRequest request, ValidationException e) {
        //日志打印异常位置、原因
        logger.error("n"+"--------------------统一异常处理中心:发生异常,异常原因及发生位置如下----------------------------");
        e.printStackTrace();
        //返回异常数据 状态码置22 msg等于实体类设置的mssage
        return new Result(22,e.getMessage()).getData();
    }
  • 控制器验证
@RequestMapping(value ="/login")
    public Map login(@RequestBody @Validated({User.login.class}) User user, BindingResult bindingResult) throws ValidationException {
        new ComMetNoSql().validData(bindingResult);
        return userService.login(user);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/826633.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号