前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >springboot之参数校验---------validation 多实体接受参数pom.xml引入依赖 controller实体

springboot之参数校验---------validation 多实体接受参数pom.xml引入依赖 controller实体

作者头像
用户5899361
发布2020-12-07 14:29:51
发布2020-12-07 14:29:51
1.5K00
代码可运行
举报
文章被收录于专栏:学习java的小白学习java的小白
运行总次数:0
代码可运行

pom.xml引入依赖

代码语言:javascript
代码运行次数:0
运行
复制
<!--参数校验-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>

controller

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

代码语言:javascript
代码运行次数:0
运行
复制
@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

代码语言:javascript
代码运行次数:0
运行
复制
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

代码语言:javascript
代码运行次数:0
运行
复制
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;
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pom.xml引入依赖
  • controller
  • 实体
    • User
    • Role
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档