亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

對于其余請求,驗證在 Spring Boot 中不起作用

對于其余請求,驗證在 Spring Boot 中不起作用

慕絲7291255 2021-09-03 16:53:19
我一直在嘗試通過“JSR-303”驗證其余請求的數據,代碼如下-:*pojo 注釋級別@NotNull(message="Carrier ID cannot be null")    private String carrier;*MessageStatusDoc 類@Idprivate String transactionId;private String status;private Key key;private AccountDetail accountDetail;*調用方法saveMessage(@Valid @RequestBody MessageStatusDoc messageStatusDoc)關鍵類包含載體字段任何人都可以建議為什么我無法捕捉到錯誤..?PS,當我嘗試記錄時,該值在控制臺上打印為空值..
查看完整描述

3 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

您提供的代碼看起來不錯。盡管您沒有提供控制器注釋。例如


@PostMapping

public void saveMessage(@Valid @RequestBody MessageStatusDoc messageStatusDoc)

不過一定要加


    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-validation</artifactId>

    </dependency>

到您的 pom 文件(至少對于 Spring Boot >= 2.3.0)。這將包括驗證 api 以及執行實際驗證工作的休眠驗證器。


此外,如果在外部包中有注釋盡量不要混合


    <dependency>

        <groupId>jakarta.validation</groupId>

        <artifactId>jakarta.validation-api</artifactId>

    </dependency>


    <dependency>

        <groupId>javax.validation</groupId>

        <artifactId>validation-api</artifactId>

    </dependency>

希望這可以幫助!


查看完整回答
反對 回復 2021-09-03
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

這是示例。


我假設下面的課程是您的 MessageStatusDoc。


承運人領域是您驗證的需要。


public class MessageStatusDoc {


        @Id

        private String transactionId;


        private String status;


        private Key key;


        @NotNull(message="Carrier ID cannot be null")

        private String carrier;


        //getter setter

}

這是使用 MessageStatusDoc 作為參數的方法


public void saveMessage(@Valid @RequestBody MessageStatusDoc messageStatusDoc) {

   //nothing to do for now

}

如果你像給定的例子那樣做得很好,那么如果任何方法調用 saveMessage 方法但 messageStatusDoc 參數的載體字段為空,那么驗證將拋出異常。


和結束。我有個問題。你能提供所有代碼嗎?


查看完整回答
反對 回復 2021-09-03
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

如果您在 getter 級別而不是在字段聲明級別使用注釋,這將得到解決。


查看完整回答
反對 回復 2021-09-03
  • 3 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號