"/>
【技術實現步驟摘要】
一種前后端分離場景下的非侵入式數據交互方法及裝置
[0001]本專利技術涉及數據交互方法
,尤其涉及一種前后端分離場景下的非侵入式數據交互方法及裝置。
技術介紹
[0002]前后端分離是目前很多復雜軟件系統所采取的開發方式,為保證系統安全,前后端均需要對用戶提交的各種數據進行通用校驗(如是否為空、格式是否合法、長度/范圍是否合法等),而目前普遍采用的校驗邏輯實現方法具有以下不足:
[0003]1、同一類型的校驗邏輯(僅用于告知用戶的提示文案不同)在前、后端的各個業務模塊(頁面)中大量出現,導致代碼冗余度較高;
[0004]2、用以實現通用校驗邏輯的代碼侵入了用于實現具體交互邏輯(對于前端)和業務邏輯(對于后端)的代碼,嚴重降低了代碼的可理解性與系統的可擴展性。
技術實現思路
[0005]有鑒于此,本專利技術的目的在于提出一種前后端分離場景下的非侵入式數據交互方法及裝置,以解決上述技術問題。
[0006]基于上述目的,本專利技術提供了一種前后端分離場景下的非侵入式數據交互方法,包括:
[0007]在前端業務模塊中設置前端通用校驗邏輯,并在前端配置全局請求攔截器H
Req
,其中,H
Req
通過正則表達式RE
Front
描述全部需要在前端集中處理的請求;
[0008]前端獲取請求P,若請求P在前端通用校驗邏輯中校驗合格,則判斷請求P與RE
Front
是否匹配,若不匹配,將請求P發送給后端;若 ...
【技術保護點】
【技術特征摘要】
1.一種前后端分離場景下的非侵入式數據交互方法,其特征在于,包括:在前端業務模塊中設置前端通用校驗邏輯,并在前端配置全局請求攔截器H
Req
,其中,H
Req
通過正則表達式RE
Front
描述全部需要在前端集中處理的請求;前端獲取請求P,若請求P在前端通用校驗邏輯中校驗合格,則判斷請求P與RE
Front
是否匹配,若不匹配,將請求P發送給后端;若匹配,前端執行請求P包含的請求參數所對應的操作邏輯和/或觸發對應的UI渲染邏輯后,將請求P發送給后端;在后端配置全局請求攔截器H
Back
,其中,H
Back
通過正則表達式RE
Back
描述全部需要在后端集中處理的請求;基于請求參數的類型,配置均與所述類型適配的若干個后端通用校驗邏輯,并在后端業務模塊的各個形參前,以元數據的形式為每個形參配置0~N個后端通用校驗邏輯,其中,N為正整數;后端獲取前端發送的請求P;若請求P與RE
Back
匹配,獲取請求P中包含的形參Arg及與所述形參Arg對應的后端通用校驗邏輯的元數據Meta,若全部的形參Arg均滿足以對應Meta為約束條件的后端通用校驗邏輯,且全部的形參Arg均滿足后端業務模塊的自身校驗邏輯,則后端執行請求P包含的請求參數所對應的操作邏輯,并構造succ=TRUE的數據結構R,否則,構造succ=FALSE、msg為該后端業務模塊的自身校驗邏輯對應提示文案的數據結構R;若請求P與RE
Back
不匹配,且全部的形參Arg均滿足后端業務模塊的自身校驗邏輯,則后端執行請求P包含的請求參數所對應的操作邏輯,并構造succ=TRUE的數據結構R,否則,構造succ=FALSE、msg為該后端業務模塊的自身校驗邏輯對應提示文案的數據結構R;后端將數據結構R進行序列化,并將序列化后的數據結構R發送至前端;在前端配置全局響應攔截器H
Resp
,所述H
Resp
接受后端發送的序列化后的數據結構R,若數據結構R的succ為FALSE,則彈出以數據結構R的msg為內容的提示文案,以結束本次交互;若succ為TRUE,則將數據結構R中的attach傳遞至對應的前端業務模塊的請求回調方法中,在所述請求回調方法中獲得H
Resp
返回的attach信息,并根據該請求P涉及的前端業務模塊,更新前端頁面中的對應UI元素或執行對應動作,以結束本次交互。2.根據權利要求1所述的非侵入式數據交互方法,其特征在于,還包括:在前端業務模塊中編寫校驗失敗時的提示文案M,若請求P在前端通用校驗邏輯中校驗不合格,則返回提示文案M。3.根據權利要求1所述的非侵入式數據交互方法,其特征在于,還包括:所述H
Resp
接受后端發送的序列化后的數據結構R后,結束已經觸發的UI渲染邏輯。4.根據權利要求1所述的非侵入式數據交互方法,其特征在于,所述數據結構R包括:布爾型的succ,用以標記請求的后端業務模塊是否執行成功;字符串型的msg,用以存放后端業務模塊執行完畢時需要呈現給用戶的文案;附加數據attach,用以存放后端業務模塊成功執行完畢后,更新前端頁面中的對應UI元素時所需的數據,attach設計為編程語言的根類或“鍵值對”類型。5.根據權利要求1所述的非侵入式數據交互方法,其特征在于,所述前端執行請求P包...
【專利技術屬性】
技術研發人員:胡平,楊琚錢,汪軍,戴家樹,嚴楠,章平,修宇,楊金盛,朱天宇,
申請(專利權)人:安徽工程大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。