springboot之参数校验---------validation 多实体接受参数

pom.xml引入依赖 

<!--参数校验-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>

controller

        如果实体需要两个实体类接受参数一个为user一个为role实体,可以嵌套验证   

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public Object index(@Valid Role role, BindingResult bindingResult){
        List<ObjectError> error=null;
     //返回boolean 是为了验证@Validated后面bean 里是否有不符合注解条件的错误信息
     if(bindingResult.hasErrors()){
         //获得所有错误信息返回list集合
         error=bindingResult.getAllErrors();
         for (ObjectError o:error) {
             //获得不符合要求的message
             return o.getDefaultMessage();
         }

     }
        return null;
    }

实体

    User

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

public class User {
    private Integer id;
    @NotEmpty(message = "name不能为空")
    private String username;
    @NotEmpty(message = "password不能为空")
    private String password;
    //@NotNull   Integer类型用notnull注解


    private List<SysRole> roles;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public List<SysRole> getRoles() {
        return roles;
    }

    public void setRoles(List<SysRole> roles) {
        this.roles = roles;
    }
}

Role

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;



public class SysRole {
    private Integer id;
   @NotEmpty(message = "name不能为空")
    private String name;
   @Valid
   private User user;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

 

转载于:https://my.oschina.net/u/3535099/blog/3067463

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值