本發(fā)明專利技術(shù)提供一種基于AOP的RESTful API統(tǒng)一參數(shù)校驗方法,屬于參數(shù)校驗技術(shù)領(lǐng)域,本發(fā)明專利技術(shù)使用AOP技術(shù)在接口數(shù)量大的情況下,對相似的RESTful API進行統(tǒng)一的參數(shù)驗證,包括以下步驟:1.搭建Spring框架;2.在Spring框架中配置包掃描的路徑、開啟AOP功能;3.定義參數(shù)驗證切面類,進行具體參數(shù)驗證處理;4.使用表達式,自定義注解定義參數(shù)驗證的覆蓋范圍。本發(fā)明專利技術(shù)的應(yīng)用使得在接口數(shù)量大的情況下,可以對相似的RESTful API快速完成統(tǒng)一的參數(shù)驗證,這種方式配置靈活,易于修改,并且能夠讓參數(shù)驗證與業(yè)務(wù)代碼相解耦,提高整個系統(tǒng)的可維護性。提高整個系統(tǒng)的可維護性。提高整個系統(tǒng)的可維護性。
【技術(shù)實現(xiàn)步驟摘要】
一種基于AOP的RESTful API統(tǒng)一參數(shù)校驗方法
[0001]本專利技術(shù)涉及參數(shù)校驗技術(shù),尤其涉及一種基于AOP的RESTful API統(tǒng)一參數(shù)校驗方法。
技術(shù)介紹
[0002]參數(shù)校驗是軟件程序開發(fā)中必不可少的一個環(huán)節(jié)步驟,在早期的程序開發(fā)中,參數(shù)校驗工作需要在每個方法中嵌入驗證的代碼,雖然相同的參數(shù)驗證代碼可以抽取成方法,統(tǒng)一進行管理和修改。但是,這樣的參數(shù)驗證方法顯然具有很強的侵入性,并且提高了代碼的重復(fù)率,當(dāng)參數(shù)驗證代碼需要新增、修改、刪除時,需要手動進行插入、更新、刪除相應(yīng)的驗證代碼。在系統(tǒng)接口數(shù)量較多的時候,這種方式就更加不利于系統(tǒng)的維護。
技術(shù)實現(xiàn)思路
[0003]為了解決如何在接口數(shù)量大的情況下,對相似的RESTful API進行統(tǒng)一的參數(shù)驗證的問題,本專利技術(shù)提供了一種基于AOP的RESTful API統(tǒng)一參數(shù)校驗方法,針對不同接口提供不同的參數(shù)驗證。
[0004]本專利技術(shù)的技術(shù)方案是:
[0005]一種基于AOP的RESTful API統(tǒng)一參數(shù)校驗方法,使用AOP技術(shù)對相似的RESTful API進行統(tǒng)一的參數(shù)驗證,包括以下步驟:
[0006]1)搭建Spring框架,使用Spring框架搭建Web項目,編寫RESTful API;
[0007]2)在Spring框架中配置包掃描的路徑、開啟AOP功能;
[0008]3)定義參數(shù)驗證切面類,進行具體參數(shù)驗證處理;
[0009]4)使用表達式,自定義注解定義參數(shù)驗證的覆蓋范圍。<br/>[0010]進一步的,
[0011]所述Spring框架包括Spring MVC、Spring Boot、Spring Cloud,
[0012]進一步的,
[0013]步驟2)中,在Spring框架中配置基本參數(shù),使用配置類進行配置或者使用xml文件進行配置。
[0014]進一步的,
[0015]在步驟2)中配置的包掃描路徑中新建切面類,在此切面類添加@Component注解,用來標注此類為一個Bean,在此類中定義一個切點方法,方法的參數(shù)返回值均為空,起到標記作用。
[0016]進一步的,
[0017]在切面類中定義增強方法,其中有5中增強方式:@Before,@After,@Around,@AfterReturning,@AfterThrowing,在入?yún)⒌男r炛性谠鰪姺椒ㄉ霞尤隌Before注解,這樣的增強方法叫做前置增強方法。
[0018]在切面類中定義前置增強方法,添加@Before("**()")注解,括號中的參數(shù)為切點
方法名,在前置增強方法中增強JoinPoint入?yún)ⅲㄟ^joinPoint.getArgs()方法取得參數(shù)列表,然后根據(jù)業(yè)務(wù)需求,進行相應(yīng)的參數(shù)處理。
[0019]進一步的,
[0020]在步驟3)中定義的切點方法上加@Pointcut("**")注解,其中**中加入相應(yīng)的表達式,在符合所配置的表達式的方法中加入增強的方法內(nèi)容,
[0021]或使用自定義注解的方式實現(xiàn),定義一個方法注解,然后在切點方法上加上@Pointcut("@annotation(**)"),annotation后的內(nèi)容為注解的名稱,所有有自定義注解的方法上都會被AOP增強。
[0022]本專利技術(shù)的有益效果是
[0023]本專利技術(shù)的應(yīng)用使得在接口數(shù)量大的情況下,可以對相似的RESTful API快速完成統(tǒng)一的參數(shù)驗證,這種方式配置靈活,易于修改,并且能夠讓參數(shù)驗證與業(yè)務(wù)代碼相解耦,提高整個系統(tǒng)的可維護性。
附圖說明
[0024]圖1是本專利技術(shù)的工作流程示意圖。
具體實施方式
[0025]為使本專利技術(shù)實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本專利技術(shù)實施例中的附圖,對本專利技術(shù)實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本專利技術(shù)一部分實施例,而不是全部的實施例,基于本專利技術(shù)中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本專利技術(shù)保護的范圍。
[0026]本專利技術(shù)的一種基于AOP的RESTful API統(tǒng)一參數(shù)校驗方法,使用AOP技術(shù)在接口數(shù)量大的情況下,對相似的RESTful API進行統(tǒng)一的參數(shù)驗證,包括以下步驟:
[0027]1.搭建Spring框架,包括但不限于Spring MVC、Spring Boot、Spring Cloud,使用Spring框架搭建Web項目,編寫RESTful API。
[0028]2.在Spring框架中配置基本參數(shù),可以使用配置類進行配置或者使用xml文件進行配置,需要配置包掃描的路徑、開啟AOP功能。
[0029]以Spring MVC項目xml配置方法為例:通過在xml中加入
[0030]<context:component-scan base-package="**.**.**"/>來配置包掃描路徑,此項配置可以配置多個,要保證base-package中配置的路徑中需要包含要進行參數(shù)驗證的類和切面類要包含在內(nèi)。通過加入<aop:aspectj-autoproxy/>來配置開啟AOP。
[0031]3.定義參數(shù)驗證切面類,在2中配置的包掃描路徑中新建切面類,在此切面類添加@Component注解,用來標注此類為一個Bean,在此類中定義一個切點方法,方法的參數(shù)返回值均可為空,只起到標記作用。在切面類中可以定義增強方法,其中有5中增強方式。@Before,@After,@Around,@AfterReturning,@AfterThrowing,在入?yún)⒌男r炛幸话阍谠鰪姺椒ㄉ霞尤隌Before注解,這樣的增強方法叫做前置增強方法。在切面類中定義前置增強方法,添加@Before("**()")注解,括號中的參數(shù)為切點方法名,在前置增強方法中增強JoinPoint入?yún)ⅲㄟ^joinPoint.getArgs()方法取得參數(shù)列表,然后根據(jù)業(yè)務(wù)需求,進行相應(yīng)的參數(shù)處理。
[0032]4.定義參數(shù)驗證的覆蓋范圍,在3中定義的切點方法上需要加
[0033]@Pointcut("**")注解,其中**中可以加入相應(yīng)的表達式,可以在符合所配置的表達式的方法中加入增強的方法內(nèi)容,也可以使用自定義注解的方式實現(xiàn),定義一個方法注解,然后在切點方法上加上@Pointcut("@annotation(**)"),annotation后的內(nèi)容為注解的名稱,所有有自定義注解的方法上都會被AOP增強。
[0034]技術(shù)用語:
[0035]AOP:Aspect Oriented Programming的縮寫,意為面向切面編程,通過預(yù)編譯方式和運行期間動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護的一種技術(shù)。
[0036]RESTful:Representational State Transfer的縮寫,一種網(wǎng)絡(luò)應(yīng)用程序的設(shè)計風(fēng)本文檔來自技高網(wǎng)...
【技術(shù)保護點】
【技術(shù)特征摘要】
1.一種基于AOP的RESTful API統(tǒng)一參數(shù)校驗方法,其特征在于,使用AOP技術(shù)對相似的RESTful API進行統(tǒng)一的參數(shù)驗證,包括以下步驟:1)搭建Spring框架,使用Spring框架搭建Web項目,編寫RESTful API;2)在Spring框架中配置包掃描的路徑、開啟AOP功能;3)定義參數(shù)驗證切面類,進行具體參數(shù)驗證處理;4)使用表達式,自定義注解定義參數(shù)驗證的覆蓋范圍。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述Spring框架包括Spring MVC、Spring Boot、Spring Cloud。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟2)中,在Spring框架中配置基本參數(shù),使用配置類進行配置或者使用xml文件進行配置。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟2)中配置的包掃描路徑中新建切面類,在此切面類添加@Component注解,用來標注此類為一個Bean,在此類中定義一個切點方法,方法的參數(shù)返回值均為空,起到標記作用。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在切面類中定義增強方法,其中有...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:姜浩楠,程林,楊培強,
申請(專利權(quán))人:山東浪潮商用系統(tǒng)有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。