一种前后端分离场景下的非侵入式数据交互方法及装置制造方法及图纸

技术编号:36707732 阅读:16 留言:0更新日期:2023-03-01 09:31
本发明专利技术涉及数据交互方法技术领域,具体涉及一种前后端分离场景下的非侵入式数据交互方法及装置,通过分别在前端配置全局请求拦截器H

【技术实现步骤摘要】
一种前后端分离场景下的非侵入式数据交互方法及装置


[0001]本专利技术涉及数据交互方法
,尤其涉及一种前后端分离场景下的非侵入式数据交互方法及装置。

技术介绍

[0002]前后端分离是目前很多复杂软件系统所采取的开发方式,为保证系统安全,前后端均需要对用户提交的各种数据进行通用校验(如是否为空、格式是否合法、长度/范围是否合法等),而目前普遍采用的校验逻辑实现方法具有以下不足:
[0003]1、同一类型的校验逻辑(仅用于告知用户的提示文案不同)在前、后端的各个业务模块(页面)中大量出现,导致代码冗余度较高;
[0004]2、用以实现通用校验逻辑的代码侵入了用于实现具体交互逻辑(对于前端)和业务逻辑(对于后端)的代码,严重降低了代码的可理解性与系统的可扩展性。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提出一种前后端分离场景下的非侵入式数据交互方法及装置,以解决上述技术问题。
[0006]基于上述目的,本专利技术提供了一种前后端分离场景下的非侵入式数据交互方法,包括:
[0007]在前端业务模块中设置前端通用校验逻辑,并在前端配置全局请求拦截器H
Req
,其中,H
Req
通过正则表达式RE
Front
描述全部需要在前端集中处理的请求;
[0008]前端获取请求P,若请求P在前端通用校验逻辑中校验合格,则判断请求P与RE
Front
是否匹配,若不匹配,将请求P发送给后端;若匹配,前端执行请求P包含的请求参数所对应的操作逻辑和/或触发对应的UI渲染逻辑后,将请求P发送给后端;
[0009]在后端配置全局请求拦截器H
Back
,其中,H
Back
通过正则表达式RE
Back
描述全部需要在后端集中处理的请求;基于请求参数的类型,配置均与所述类型适配的若干个后端通用校验逻辑,并在后端业务模块的各个形参前,以元数据的形式为每个形参配置0~N个后端通用校验逻辑,其中,N为正整数;
[0010]后端获取前端发送的请求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;
[0011]后端将数据结构R进行序列化,并将序列化后的数据结构R发送至前端;
[0012]在前端配置全局响应拦截器H
Resp
,所述H
Resp
接受后端发送的序列化后的数据结构R,若数据结构R的succ为FALSE,则弹出以数据结构R的msg为内容的提示文案,以结束本次交互;若succ为TRUE,则将数据结构R中的attach传递至对应的前端业务模块的请求回调方法中,在所述请求回调方法中获得H
Resp
返回的attach信息,并根据该请求P涉及的前端业务模块,更新前端页面中的对应UI元素或执行对应动作,以结束本次交互。
[0013]作为一种可选的实施方式,还包括:在前端业务模块中编写校验失败时的提示文案M,若请求P在前端通用校验逻辑中校验不合格,则返回提示文案M。
[0014]作为一种可选的实施方式,还包括:所述H
Resp
接受后端发送的序列化后的数据结构R后,结束已经触发的UI渲染逻辑。
[0015]作为一种可选的实施方式,所述数据结构R包括:
[0016]布尔型的succ,用以标记请求的后端业务模块是否执行成功;
[0017]字符串型的msg,用以存放后端业务模块执行完毕时需要呈现给用户的文案;
[0018]附加数据attach,用以存放后端业务模块成功执行完毕后,更新前端页面中的对应UI元素时所需的数据,attach设计为编程语言的根类或“键值对”类型。
[0019]作为一种可选的实施方式,所述前端执行请求P包含的请求参数所对应的操作逻辑,包括:参数类型转换和/或去除字符串型参数的首尾空白字符和/或对字符串型参数包含的特殊字符进行转义和/或增加认证Token参数。
[0020]作为一种可选的实施方式,所述前端触发对应的UI渲染逻辑,包括:显示不确定进度条和/或弹出含等待动画和/或禁止用户重复操作的遮罩层。
[0021]作为一种可选的实施方式,所述基于请求参数的类型,配置均与所述类型适配的若干个后端通用校验逻辑,包括:判断请求参数是否为空;和/或,
[0022]判断字符串型参数和数组型参数的长度是否合法;和/或,
[0023]判断数值型参数是否介于合法的取值范围;和/或,
[0024]判断日期/时间型参数是否介于当前日期/时间之前或之后。
[0025]与所述交互方法相对应的,本专利技术实施例还提供了一种前后端分离场景下的非侵入式数据交互装置,包括:
[0026]前端配置模块,用于在前端业务模块中设置前端通用校验逻辑,并在前端配置全局请求拦截器H
Req
,其中,H
Req
通过正则表达式RE
Front
描述全部需要在前端集中处理的请求;
[0027]前端获取模块,用于使前端获取请求P,若请求P在前端通用校验逻辑中校验合格,则判断请求P与RE
Front
是否匹配,若不匹配,将请求P发送给后端;若匹配,前端执行请求P包含的请求参数所对应的操作逻辑和/或触发对应的UI渲染逻辑后,将请求P发送给后端;
[0028]后端配置模块,用于在后端配置全局请求拦截器H
Back
,其中,H
Back
通过正则表达式RE
Back
描述全部需要在后端集中处理的请求;基于请求参数的类型,配置均与所述类型适配的若干个后端通用校验逻辑,并在后端业务模块的各个形参前,以元数据的形式为每个形参配置0~N个后端通用校验逻辑,其中,N为正整数;
[0029]后端获取模块,用于使后端获取前端发送的请求P;若请求P与RE
Back
匹配,获取请求P中包含的形参Arg及与所述形参Arg对应的后端通用校验逻辑的元数据Meta,若全部的形参Arg均满足以对应Meta为约束条件的后端通用校验逻辑,且全部的形参Arg均满足后端业务模块的自身本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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包...

【专利技术属性】
技术研发人员:胡平杨琚钱汪军戴家树严楠章平修宇杨金盛朱天宇
申请(专利权)人:安徽工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1