SpringBoot註解-第一彈@Valid

在springboot後臺開發中,經常會遇到輸入參數需要校驗。springBoot提供強大的註解@Valid @Validate兩個註解來進行參數校驗。

  1. 簡單校驗
    如下所示爲我們controller代碼,接口參數爲User對象,我們使用@Valid修飾了該對象表示我們要校驗其成員
    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public String test(@RequestBody @Valid User user, BindingResult checkResult) {
        if(checkResult.hasErrors()) {
        StringBuilder message = new StringBuilder();
        for (FieldError fieldError : checkResult.getFieldErrors()) {
            message.append(fieldError.getDefaultMessage()).append(",");
        }
        return  message.toString();
        }
        else {
            return "true";
        }
    }

User類中使用@NotNull修飾了userId與userName表明其不爲null

public class User {
    @NotNull(message = "userId 不爲空")
    private Integer userId;
    @NotNull(message = "userName不爲空")
    private String userName;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}

現在來測試一下
當我們輸入:

{
	"userId":111
}

可以看到BindingResult 已經幫我們捕獲到了錯誤:
在這裏插入圖片描述
結果輸出爲:

userName不爲空,

當輸入完整的數據後:

{
	"userId":111,
	"userName":"韓大帥"
}

在這裏插入圖片描述
結果正常沒有異常出現。
除了@NotNull更多的校驗方式請參見javax.validation.constraints
在這裏插入圖片描述
ok,那麼簡單的參數校驗到這裏就結束了,後期將爲大家介紹多嵌套實體類的參數校驗以及分組校驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章