@Validated注解

本文介绍了如何在JavaEE项目中利用@Validated注解进行字段格式校验,以提高代码的可读性和规整性。通过一个简单的Controller和Bean层的例子,展示了在UserJsonBean中使用@Email注解进行邮箱格式验证,当输入不符合要求时,会返回错误信息,从而实现更优雅的错误处理。
摘要由CSDN通过智能技术生成

一. 在javaEE项目中经常要判断一些字段的格式是否正确。在以前基本上都是用if(啥啥 啥)else(啥啥啥) 。但是在知道@Validated之后就开始尝试用这个注解了。不但减轻代码量而 且代码更加的易读规整。

二. 下面就以简单例子来说明。

  1. Controller 层
@PostMapping("student")
@ApiOperation("学生注册")
public @ResponseBody
Map<String, Object> registerStudent(@RequestBody @Validated UserJsonBean user, HttpServletRequest request) throws UnsupportedEncodingException, NoSuchAlgorithmException {
    Map<String,Object> retMap;
    retMap=registerService.baseRegister(user,0,request);
    return retMap;

}

在要校验对象上加上@Validated注解

2.Bean层

(1)
public class UserJsonBean  extends User
(2)
public class User {
    @Id
    @Column(name="id",nullable = false)
    @GeneratedValue
   private Long id;
    @Email
    @Column(name = "user_email", nullable = false)
    private String userEmail;

3.测试

(1)传入数据

{
  "emailCode": 1234,
  "phoneCode": "1234",
  "picCode": "string",
  "userEmail": "zjut.wujinhuiqq.com",
  "userName": "wujinhui",
  "userPassword": "123456",
  "userPhone": "string"
}

(2)测试结果:

{
  "timestamp": "2018-05-25T10:19:59.898+0000",
  "status": 400,
  "error": "Bad Request",
  "errors": [
    {
      "codes": [
        "Email.userJsonBean.userEmail",
        "Email.userEmail",
        "Email.java.lang.String",
        "Email"
      ],
      "arguments": [
        {
          "codes": [
            "userJsonBean.userEmail",
            "userEmail"
          ],
          "arguments": null,
          "defaultMessage": "userEmail",
          "code": "userEmail"
        },
        [],
        {
          "defaultMessage": ".*",
          "arguments": null,
          "codes": [
            ".*"
          ]
        }
      ],
      "defaultMessage": "不是一个合法的电子邮件地址",
      "objectName": "userJsonBean",
      "field": "userEmail",
      "rejectedValue": "zjut.wujinhuiqq.com",
      "bindingFailure": false,
      "code": "Email"
    }
  ],
  "message": "Validation failed for object='userJsonBean'. Error count: 1",
  "path": "/register/student"
}

三.@Validated 相关注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值