springboot 請求接口驗證入參字段是否為空

先上代碼看一下



import com.hisense.common.utils.ResultVOUtil;
import com.hisense.common.vo.ResultVO;
import com.hisense.home.model.SysLoginModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
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;

/**
 * @author Arthur.yu
 * @date 2021/8/10 0010
 */
@RestController
@RequestMapping("/sys")
@Api(tags="用戶登錄")
@Slf4j
public class LoginController {

    @ApiOperation("登錄接口")
    @PostMapping("/login")
    public ResultVO login(@Valid @RequestBody SysLoginModel sysLoginModel, BindingResult bindingResult){

        if (bindingResult.hasErrors()){
            return ResultVOUtil.error(1000,bindingResult.getAllErrors().get(0).getDefaultMessage());
        }


        return ResultVOUtil.success();
    }
}


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;

/**
 * @author Arthur.yu
 * @date 2021/8/10 0010
 */
@Data
@ApiModel(value="登錄對象", description="登錄對象")
public class SysLoginModel {
    @NotEmpty(message = "手機號不能為空")
    @ApiModelProperty(value = "賬號")
    private String userName;
    @NotEmpty(message = "密碼不能為空")
    @ApiModelProperty(value = "密碼")
    private String password;
    @NotEmpty(message = "驗證碼不能為空")
    @ApiModelProperty(value = "驗證碼")
    private String captcha;
}

@Valid 如果爆紅,請檢查一下springboot版本是否大于 2.3.0


image.png

解決辦法有兩種。第一種是降低springboot版本小于2.3.0 第二種辦法是比較推薦的,就是pom新增如下:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容