真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

創(chuàng)新互聯(lián)是專業(yè)的新安網(wǎng)站建設(shè)公司,新安接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(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)隊(duì),希望更多企業(yè)前來合作!

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

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

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

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

驗(yàn)證總是擺在第一位。

再來分析下Assert 類。 Assert  其實(shí)是一個(gè)非常簡單的工具類。 

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

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

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

Assert 類在SpringBoot 項(xiàng)目中被廣泛使用。 

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

為啥使用Assert 類? 因?yàn)槭褂肁ssert 能使得代碼更加簡潔明。三行代碼變成一行代碼,并且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";
    }

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

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

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

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

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


分享文章:SpringBoot如何優(yōu)雅的進(jìn)行參數(shù)校驗(yàn)
當(dāng)前地址:http://weahome.cn/article/gohjeg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部