pom文件中添加依赖
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.17.Final</version>
</dependency>
在实体类上添加非空注解 @NotEmpty(message = “名称不能为空”)
package com.flow.mongodb.domain;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@Data
public class OneTest {
@NotEmpty(message = "名称不能为空")
private String name;
@NotEmpty(message = "类型不能为空")
private String type;
@NotEmpty(message = "性别不能为空")
private String sex;
}
控制器中使用 注解 @Valid 配合接收参数
package com.flow.mongodb.controller;
import com.flow.mongodb.domain.OneTest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
@Slf4j
@RestController
@RequestMapping("/api/test")
public class TestController {
@PostMapping("/add")
public String add(@RequestBody @Valid OneTest oneTest){
log.info("=======接收到的参数=========="+oneTest);
return "参数接收成功";
}
}
当必填字段为空的情况下,给前端返回的提示信息 如下:
入参
{
"name": "",
"type": "1",
"sex": "男"
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/1fe878b3c5114b2c9e6b21c1f9990024.png)
调用接口返回结果,如下:
{
"timestamp": 1679466819535,
"status": 400,
"error": "Bad Request",
"errors": [
{
"codes": [
"NotEmpty.oneTest.name",
"NotEmpty.name",
"NotEmpty.java.lang.String",
"NotEmpty"
],
"arguments": [
{
"codes": [
"oneTest.name",
"name"
],
"arguments": "",
"defaultMessage": "name",
"code": "name"
}
],
"defaultMessage": "名称不能为空",
"objectName": "oneTest",
"field": "name",
"rejectedValue": "",
"bindingFailure": false,
"code": "NotEmpty"
}
],
"message": "Validation failed for object='oneTest'. Error count: 1",
"path": "/api/test/add"
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/d5e19ba746fc4ea8b2109df90d752baa.png)