springboot接收json对象字串并校验参数

参数校验的话首先要在pom.xml添加依赖


<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

 



1、建一个验证参数的实体NodeVo.java

package com.spring.first.vo;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
public class NodeVo {
    @NotNull(message = "name不能为空")
    @NotBlank(message = "name不能为空")//制定一个规则 name不能为空
    private String name;

    private String title;
    private  int  status;
    private  int  sort;
    private  int pid;
    private int level;
    public String getName(){
        return name;
    }

    public void setName(String name){
        this.name=name;
    }

    public String getTitle(){
        return title;
    }
    public void setTitle(String title){
        this.title=title;
    }


    public int getStatus(){
        return status;
    }
    public void setStatus(int status){
        this.status=status;
    }

    public int getSort(){
        return sort;
    }
    public void setSort(int sort){
        this.sort=sort;
    }

    public void setPid(int pid){
        this.pid=pid;
    }
    public int getPid(){
        return pid;
    }

    public void setLevel(int level){
        this.level=level;
    }
    public int getLevel(){
        return level;
    }
}

 



2、然后在controller里面写业务代码
package com.spring.first.controller;
import javax.annotation.Resource;
import javax.validation.Valid;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import com.spring.first.service.DemoService;
import com.spring.first.service.NodeService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import com.spring.first.domain.*;
import com.spring.first.vo.NodeVo;
import java.util.List;
@RestController
public class DemoController {

 @RequestMapping(value = "/loadTree2",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
 @ResponseBody

// 这个方法表示接收json对象 {"id":952,"name":"555","title":"7777","status":1,"sort":1,"pid":360,"level":3}
// 用NodeVo验证类来验证json对象中的参数是否符合条件

public Object loadTree( @Valid @RequestBody  NodeVo jsonObject) {
   return jsonObject;     //返回一个验证结果对象,如果是符合条件的则直接返回数据,否则返回一个消息对象

 }

}

 

最后在postman里面测试一下结果
如果是传一个name为空的json对象过来

 

 那么结果将返回

 

 如果传的参数满足验证条件,结果将会是如下图

 

 完结!

 

 
 
posted @ 2020-04-10 15:08  smellycats  阅读(3814)  评论(0编辑  收藏  举报