先上代碼看一下
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>