• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于AOP的RESTfulAPI統(tǒng)一參數(shù)校驗方法技術(shù)

    技術(shù)編號:27589024 閱讀:64 留言:0更新日期:2021-03-10 10:05
    本發(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]&lt;context:component-scan base-package="**.**.**"/&gt;來配置包掃描路徑,此項配置可以配置多個,要保證base-package中配置的路徑中需要包含要進行參數(shù)驗證的類和切面類要包含在內(nèi)。通過加入&lt;aop:aspectj-autoproxy/&gt;來配置開啟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ā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 中文字幕无码乱人伦| 日日摸夜夜添无码AVA片| 无码一区二区三区免费视频| 欧美性生交xxxxx无码影院∵| 永久免费无码日韩视频| 无码专区天天躁天天躁在线| 亚洲a无码综合a国产av中文| 国产产无码乱码精品久久鸭| 天堂一区人妻无码| 中文字幕无码AV波多野吉衣| 成人无码嫩草影院| 伊人无码精品久久一区二区| 亚洲精品无码Av人在线观看国产| 精品爆乳一区二区三区无码av| 精品无码一级毛片免费视频观看 | 蜜桃无码一区二区三区| 丰满少妇人妻无码专区| 久久久久亚洲AV无码专区首JN| 国产成人无码一区二区在线播放| 精品无码国产污污污免费| 秋霞鲁丝片Av无码少妇| YW尤物AV无码国产在线观看| 精品少妇人妻av无码专区| 丰满爆乳无码一区二区三区| 无码精品尤物一区二区三区| 无码成人一区二区| 少妇人妻无码精品视频| 亚洲中文字幕无码日韩| 潮喷失禁大喷水aⅴ无码| 嫩草影院无码av| 精品无码黑人又粗又大又长 | 亚洲av激情无码专区在线播放| 一本大道无码人妻精品专区| 色综合99久久久无码国产精品| 亚洲AV无码一区二区乱子仑| 无码中文在线二区免费| 免费无码又爽又刺激聊天APP| 精品人妻无码一区二区三区蜜桃一 | 精品久久久久久无码中文字幕一区| 无码成人一区二区| 伊人久久一区二区三区无码|