欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗

這篇文章將為大家詳細(xì)講解有關(guān)SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)新互聯(lián)是專業(yè)的新安網(wǎng)站建設(shè)公司,新安接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行新安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!

參數(shù)的合法性直接影響到程序的安全和性能,因此在進(jìn)行相關(guān)操作前必須檢測對象是否為null,是否為blank,是否被初始化等等。

我們先來看看SpringBoot 是如何來檢驗參數(shù)的。

SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗

SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗

驗證總是擺在第一位。

再來分析下Assert 類。 Assert  其實是一個非常簡單的工具類。 

SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗

Assert 類作為一個工具類,不應(yīng)該被實例化, 因此該類使用 abstract 進(jìn)行修飾。 沒錯這就是經(jīng)常遇到的面試題目, abstract 類不能被實例化。

除此之外 將構(gòu)造方法使用 private 進(jìn)行修飾也可以防止類被實例化,這也是常用的編程技巧之一。 

Assert 類在SpringBoot 項目中被廣泛使用。 

SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗

為啥使用Assert 類? 因為使用Assert 能使得代碼更加簡潔明。三行代碼變成一行代碼,并且Controller 類不需要依賴具體的Exception 類,少依賴一種Exception, import語句減少一行。

@RequestMapping("edit")
    @RequiresPermissions(value = "fsdd-2")
    public String edit(@RequestParam @NonNull Long id, Model model) {
        Classify classify = classifyService.findById(id);

/*        if(classify == null){
            throw new EntityNotFoundException("被修改的分類不能為空" + id);
        }*/

        Assert.notNullEntity(classify, "被修改的分類不能為空" + id);

        model.addAttribute("classify", classify);
        return "manage/ClassifyController/edit";
    }

修改某條記錄時 , id 參數(shù)是必須的,并且id不能為空, 并且根據(jù)id查詢出來的實體對象也不能為空。 當(dāng)然還必須處于登陸狀態(tài),并且擁有相關(guān)的角色權(quán)限。

到此我們只是驗證了參數(shù)是否合法并且拋出了異常,但是并沒有告訴用戶后臺發(fā)生了什么事情。

使用 @ControllerAdvice 和 @ExceptionHandler 可以捕獲不同類型的錯誤,并且根據(jù)錯誤的類型給前臺用戶相應(yīng)的反饋。

SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗

關(guān)于SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當(dāng)前題目:SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗
文章起源:http://chinadenli.net/article46/gohjeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)虛擬主機(jī)、商城網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)