CN112363720A - 基于Spring Restful框架实现公共控制逻辑的方法及装置 - Google Patents
基于Spring Restful框架实现公共控制逻辑的方法及装置 Download PDFInfo
- Publication number
- CN112363720A CN112363720A CN202011376567.0A CN202011376567A CN112363720A CN 112363720 A CN112363720 A CN 112363720A CN 202011376567 A CN202011376567 A CN 202011376567A CN 112363720 A CN112363720 A CN 112363720A
- Authority
- CN
- China
- Prior art keywords
- http request
- control logic
- common control
- processor
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013499 data model Methods 0.000 claims description 8
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000009877 rendering Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000012795 verification Methods 0.000 description 6
- 238000013524 data verification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于Spring Restful框架实现公共控制逻辑的方法及装置,其中该方法包括:在Spring Restful框架中,确定待插入公共控制逻辑的扩展点;在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理。本发明能够在对Spring Restful框架影响最小的情况下,在Spring Restful框架中实现HTTP请求的公共控制逻辑处理,大大提高代码复用率。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种基于Spring Restful框架实现公共控制逻辑的方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在Java领域,Spring开发框架已经占领了绝对的主导地位。无论是传统的单体应用,还是新兴的分布式应用,Spring、Spring Boot、Spring Cloud已经被广泛使用。国内厂商提供的云平台解决方案中基本上也是基于Spring Cloud进行的包装。
在分布式架构下,系统的通讯方式主要包括两种:RPC和Restful。其中,RPC以Dubbo为主,优点是基于TCP的长连接方式,性能较好;缺点是要求客户端和服务端是同构系统,且必须是强接口依赖关系。Restful以Spring Restful为主,使用Http+Json的方式进行通讯,性能较RPC差一些。
Spring的标准Restful使用了Spring MVC来实现,开发人员利用Spring Boot提供的组件和注解方式,可以快速配置Restful接口,仅需编写具体的业务逻辑代码。但这种方式存在一个问题,对于一些公共控制逻辑(例如,安全、访问控制、数据格式校验、Session检查、防重控制、权限控制等),不可能在每个Restful业务接口内去实现。由于这些逻辑与具体的业务无关,若在每个Restful业务接口都去做控制,会导致代码复用率变低、维护困难、性能也会变差。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例中提供了一种基于Spring Restful框架实现公共控制逻辑的方法,用以解决现有技术在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑,导致代码复用率低的技术问题,该方法包括:在Spring Restful框架中,确定待插入公共控制逻辑的扩展点;在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理。
本发明实施例中还提供一种基于Spring Restful框架实现公共控制逻辑的装置,用以解决现有技术在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑,导致代码复用率低的技术问题,该装置包括:公共控制逻辑扩展点确定模块,用于在SpringRestful框架中,确定待插入公共控制逻辑的扩展点;公共控制逻辑插入模块,用于在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;公共控制逻辑执行模块,用于调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理。
本发明实施例中还提供了一种计算机设备,用以解决现有技术在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑,导致代码复用率低的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于Spring Restful框架实现公共控制逻辑的方法。
本发明实施例中还提供了一种计算机可读存储介质,用以解决现有技术在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑,导致代码复用率低的技术问题,该计算机可读存储介质存储有执行上述基于Spring Restful框架实现公共控制逻辑的方法的计算机程序。
本发明实施例中,在Spring Restful框架中,确定待插入一些公共控制逻辑的扩展点,并在确定的扩展点上插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器,以便通过调用插入的自定义数据处理器,来对来自用户前端的HTTP请求执行公共控制逻辑处理。与现有技术中在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑的技术方案相比,本发明实施例能够在对Spring Restful框架影响最小的情况下,在Spring Restful框架中实现HTTP请求的公共控制逻辑处理,大大提高代码复用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种基于Spring Restful框架实现公共控制逻辑的方法流程图;
图2为本发明实施例中提供的一种Spring MVC执行处理流程图;
图3为本发明实施例中提供的一种基于Spring Restful框架实现HTTP请求会话检查的方法流程图;
图4为本发明实施例中提供的一种处理器执行链示意图;
图5为本发明实施例中提供的一种基于Spring Restful框架实现HTTP请求数据转换的方法流程图;
图6为本发明实施例中提供的一种基于Spring Restful框架实现HTTP请求数据校验的方法流程图;
图7为本发明实施例中提供的一种基于Spring Restful框架实现公共控制逻辑的系统示意图;
图8为本发明实施例中提供的一种基于Spring Restful框架实现公共控制逻辑的装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例中提供了一种基于Spring Restful框架实现公共控制逻辑的方法,图1为本发明实施例中提供的一种基于Spring Restful框架实现公共控制逻辑的方法流程图,如图1所示,该方法包括如下步骤:
S101,在Spring Restful框架中,确定待插入公共控制逻辑的扩展点;
S102,在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;
S103,调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理。
需要说明的是,本发明实施例中HTTP请求可以是银行业务系统中基于HTTP协议的各种交易请求,对于银行业务系统来说,尤其是渠道类业务系统,直接面向客户提供服务,通常需要对用户前端提交的请求进行数据合法性、规范性等校验。为了确保输入数据的有效性,避免一些脏数据或恶意攻击数据的输入,银行的各种业务系统需要增加一些对HTTP请求的公共控制逻辑(包括但不限于:安全访问控制、数据格式转换或校验、会话检查、防重控制或权限控制等),以对用户前端提交的各种交易请求(例如,HTTP请求)进行统一规范和处理。
由于对HTTP请求执行的一些公共控制逻辑,与具体业务无关,因而,本发明实施例中,将对HTTP请求执行的公共控制逻辑放在Spring Restful框架中执行,能够避免在各个Restful业务接口中实现重复实现这些公共控制逻辑,导致代码冗余度较高的问题。在具体实施时,可以自定义一些执行公共控制逻辑处理的自定义处理器来实现公共控制逻辑的处理。例如,将银行业务系统中数据校验处理、会话检查处理等一系列基于银行业务场景的公共控制逻辑,封装为自定义处理器,例如,自定义数据转换器、自定义会话检查处理器等。
具体地,在定义一些对HTTP请求执行公共控制逻辑处理的自定义处理器后,可以在Spring Restful框架中寻找一些待插入公共控制逻辑的扩展点,将定义的自定义数据处理器,插入到这些扩展点,以实现在Spring Restful框架中实现对HTTP请求的公共控制逻辑处理的目的。
由上可知,本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的方法,在Spring Restful框架中,确定待插入一些公共控制逻辑的扩展点,并在确定的扩展点上插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器,以便通过调用插入的自定义数据处理器,来对来自用户前端的HTTP请求执行公共控制逻辑处理。
通过本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的方法,能够在对Spring Restful框架影响最小的情况下,在Spring Restful框架中实现HTTP请求的公共控制逻辑处理,大大提高代码复用率。
由于Spring Restful框架使用Spring MVC来实现,下面对Spring MVC的执行流程进行说明,以便在Spring Restful框架中确定插入一些公共控制逻辑的扩展点。
如图2所示,Spring MVC的执行处理流程具体包括:
①用户端发起HTTP请求;
②派发模块(DispatcherServlet)将请求派发给处理器映射(handlerMapping),找到对应的处理器适配器;(HandlerAdapter)
③派发模块调用处理器适配器进行处理;
④处理器适配调用消息转换模块对原始消息进行:数据转换、格式化、数据验证等一系列操作。最后调用处理器(handler)进行处理;
⑤处理结果被封装为模型和视图(modelAndView)返回给派发模块;
⑥派发模块获取对应的视图解析器(viewResolver);
⑦视图解析器使用模型数据填充和渲染视图。
⑧将生成的视图展示给用户。
分析可知,本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的方法,可以将上述步骤③或④确定为扩展点。上述步骤③中,具有一个处理器执行链,因而,可以在处理器执行链中,插入自定义拦截器,对HTTP请求进行一些预处理(例如,会话有效性检查),编写相应的公共控制逻辑代码。而上述步骤④的数据转换阶段,可以自定义对HTTP请求执行预设数据转换操作的自定义数据处理器和对HTTP请求执行预设数据校验操作的自定义数据校验器。
图3为本发明实施例中提供的一种基于Spring Restful框架实现HTTP请求会话检查的方法流程图,如图3所示,包括如下步骤:
S102a,在处理器执行链(HandlerExecutionChain)中,插入对HTTP请求执行会话有效性检查的自定义拦截器;
S103a,调用插入的自定义拦截器,对HTTP请求执行会话有效性检查;如果检查结果为通过,则继续执行HTTP请求的后续操作;如果检查结果为失败,则拒绝执行HTTP请求的后续操作。
在一个实施例中,本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的方法还可以包括如下步骤:接收来自用户前端的HTTP请求;将HTTP请求派发给处理器映射器;则上述S102a可以通过如下步骤来实现:接收处理器映射器根据HTTP请求返回的处理器执行链;在处理器映射器返回的处理器执行链中,插入对HTTP请求执行会话有效性检查的自定义拦截器。
图4为本发明实施例中提供的一种处理器执行链示意图,如图4所示,处理器执行链由一个处理器(handler)和一组处理器拦截器(handlerInterceptor)组成。每个拦截器都有一个预处理方法(prehandle)和一个后处理方法(postHandle),其中,于处理方法在请求执行前处理,后处理方法在请求回执行后,返回结果前进行处理,本发明实施例在在处理器执行链中插入公共控制逻辑的时候,可在预处理方法中执行会话有效检查,以便针对来自用户前端的HTTP请求,检查其会话是否有效,具体实施时,可以插入一个会话检查拦截器(SessionCheckInterceptor),实现预处理(preHandle)方法。在预处理方法中,可对HTTP请求进行会话有效性检查,如果检查结果为通过,则返回真的检查结果;如果检查结果为失败,则返回假的检查结果。当返回的检查结果为假时,后续的拦截器和处理器都不会执行。整个执行马上失败返回。
图5为本发明实施例中提供的一种基于Spring Restful框架实现HTTP请求数据转换的方法流程图,如图5所示,包括如下步骤:
S102b,在调用处理器适配器对HTTP请求执行数据转换操作的过程中,插入对HTTP请求执行预设数据转换操作的自定义数据转换器;
S103b,调用插入的自定义数据转换器,对HTTP请求执行预设数据转换操作。
在具体实施时,如果要对HTTP请求的数据转换进行自定义,则可自定义数据转换器(AbstractHttpMessageConverter),该自定义数据转换器可实现如下三个抽象方法:
①支持方法,用于判断当前转换器是否生效;
②读方法,用于将请求数据转换为指定的目标对象类型;
③写方法,用于将源对象类型转换为指定的输出数据。
需要说明的是,只有支持方法返回结果为真时,才会进行另外两个方法的调用;
例如,对于日期类型数据的转换,前端上送的日期一般是字符串,如2020 10-112:00:00,自定义数据转换器可将字符串类型数据转换为Java的Date类型数据。
图6为本发明实施例中提供的一种基于Spring Restful框架实现HTTP请求数据校验的方法流程图,如图6所示,包括如下步骤:
S102c,在调用处理器适配器对HTTP请求执行数据校验操作的过程中,插入对HTTP请求执行预设数据校验操作的自定义数据校验器;
S103c,调用插入的自定义数据校验器,对HTTP请求执行预设数据校验操作。
在具体实施时,如果要对HTTP请求的数据校验进行自定义,则可自定义数据校验器,以实现对HTTP请求数据的验证逻辑。具体可通过如下步骤来实现:
①编写自定义的校验注解类。校验注解类主要功能为标记作用,标记在目标实体对象的字段上。代表该字段需要按照对应的校验器进行校验。
如在Context对象上的字段innerMap上添加@ContextValid注解:
代码实现如下:
②在处理器方法(handlerMethod)上对应的参数上声明验证注解@Valid;
代码实现如下:
③编写注解@ContextValid;
代码实现如下:
其中明确指明该注解要被验证的验证器是哪个,通过“validateBy=”来实现。
④编写注解验证器;
实现约束验证器接口(ConstraintValidator),实现验证方法,添加自己的验证逻辑。当返回假时,验证失败,整个交易结束。
例如,自定义数据校验器可以校验日期是否符合日期格式,金额必须符合货币金额格式,比如123.45,一般会在系统中用正则表达式进行控制;或者,对于用户ID,要求必须是数字、字母和特殊字符的强数据格式,不能使简单的纯数字,纯字母。
在一个实施例中,本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的方法,还可以包括如下步骤:获取HTTP请求的响应结果数据;将HTTP请求的响应结果数据封装为数据模型和视图;利用数据模型填充和渲染视图,生成HTTP请求的响应视图;将HTTP请求的响应视图,返回至用户前端。
图7为本发明实施例中提供的一种基于Spring Restful框架实现公共控制逻辑的系统示意图,如图7所示,过滤器在整个交易执行过程的最前端,也在spring框架的前面,主要是实现容器级别的请求处理;处理器执行链中可插入自定义拦截器,对HTTP请求执行会话有效性检查等预处理的公共控制逻辑;自定义数据转换器用于对HTTP请求执行预设数据转换操作;自定义数据校验器用于对HTTP请求执行预设数据校验操作。
基于同一发明构思,本发明实施例中还提供了一种基于Spring Restful框架实现公共控制逻辑的装置,如下面的实施例所述。由于该装置解决问题的原理与基于SpringRestful框架实现公共控制逻辑的方法相似,因此该装置的实施可以参见基于SpringRestful框架实现公共控制逻辑的方法的实施,重复之处不再赘述。
图8为本发明实施例中提供的一种基于Spring Restful框架实现公共控制逻辑的装置示意图,如图8所示,该装置包括:公共控制逻辑扩展点确定模块81、公共控制逻辑插入模块82和公共控制逻辑执行模块83。
其中,公共控制逻辑扩展点确定模块81,用于在Spring Restful框架中,确定待插入公共控制逻辑的扩展点;公共控制逻辑插入模块82,用于在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;公共控制逻辑执行模块83,用于调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理。
由上可知,本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的装置,通过公共控制逻辑扩展点确定模块81在Spring Restful框架中,确定待插入一些公共控制逻辑的扩展点;通过公共控制逻辑插入模块82在确定的扩展点上插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;通过公共控制逻辑执行模块83调用插入的自定义数据处理器,来对来自用户前端的HTTP请求执行公共控制逻辑处理。
通过本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的装置,能够在对Spring Restful框架影响最小的情况下,在Spring Restful框架中实现HTTP请求的公共控制逻辑处理,大大提高代码复用率。
在一个实施例中,本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的装置还可以包括:HTTP请求接收模块84,用于接收来自用户前端的HTTP请求;HTTP请求派发模块85,用于将HTTP请求派发给处理器映射器;其中,公共控制逻辑插入模块82还用于:接收所述处理器映射器根据所述HTTP请求返回的处理器执行链;在所述处理器映射器返回的处理器执行链中,插入对HTTP请求执行会话有效性检查的自定义拦截器。
在一个实施例中,本发明实施例中提供的基于Spring Restful框架实现公共控制逻辑的装置还可以包括:响应结果数据获取模块86,用于HTTP请求响应模块,用于获取HTTP请求的响应结果数据;响应结果数据封装模块87,用于将HTTP请求的响应结果数据封装为数据模型和视图;前端视图生成模块88,用于利用数据模型填充和渲染视图,生成HTTP请求的响应视图;HTTP请求响应模块89,用于将HTTP请求的响应视图,返回至用户前端。
基于同一发明构思,本发明实施例中还提供了一种计算机设备,用以解决现有技术在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑,导致代码复用率低的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于Spring Restful框架实现公共控制逻辑的方法。
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,用以解决现有技术在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑,导致代码复用率低的技术问题,该计算机可读存储介质存储有执行上述基于Spring Restful框架实现公共控制逻辑的方法的计算机程序。
综上所述,本发明实施例中提供了一种基于Spring Restful框架实现公共控制逻辑的方法、装置、计算机设备及计算机可读存储介质,基于Spring Restful框架,在派发模块调用处理器适配器对HTTP请求进行处理的过程中,插入自定义拦截器;在处理器适配调用消息转换模块对原始消息进行转换或校验的过程中,调用自定义数据转换器或自定义数据校验器来实现,利用自定义拦截器、自定义数据转换器或自定义数据校验器来实现对HTTP请求的一些公共控制逻辑处理,与现有技术中在每个Restful业务接口中重复实现对HTTP请求执行的公共控制逻辑的技术方案相比,本发明实施例在Spring Restful框架中实现HTTP请求的公共控制逻辑处理,能够大大提高代码复用率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种基于Spring Restful框架实现公共控制逻辑的方法,其特征在于,包括:
在Spring Restful框架中,确定待插入公共控制逻辑的扩展点;
在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;
调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理。
2.如权利要求1所述的方法,其特征在于,
在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器,包括:在处理器执行链中,插入对HTTP请求执行会话有效性检查的自定义拦截器;
调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理,包括:调用插入的自定义拦截器,对HTTP请求执行会话有效性检查;如果检查结果为通过,则继续执行所述HTTP请求的后续操作;如果检查结果为失败,则拒绝执行所述HTTP请求的后续操作。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收来自用户前端的HTTP请求;
将所述HTTP请求派发给处理器映射器;
其中,在处理器执行链中,插入对HTTP请求执行会话有效性检查的自定义拦截器,包括:接收所述处理器映射器根据所述HTTP请求返回的处理器执行链;在所述处理器映射器返回的处理器执行链中,插入对HTTP请求执行会话有效性检查的自定义拦截器。
4.如权利要求1所述的方法,其特征在于,
在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器,包括:在调用处理器适配器对HTTP请求执行数据转换操作的过程中,插入对HTTP请求执行预设数据转换操作的自定义数据转换器;
调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理,包括:调用插入的自定义数据转换器,对HTTP请求执行预设数据转换操作。
5.如权利要求1所述的方法,其特征在于,
在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器,包括:在调用处理器适配器对HTTP请求执行数据校验操作的过程中,插入对HTTP请求执行预设数据校验操作的自定义数据校验器;
调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理,包括:调用插入的自定义数据校验器,对HTTP请求执行预设数据校验操作。
6.如权利要求1至5任一项所述的方法,所述方法还包括:
获取所述HTTP请求的响应结果数据;
将所述HTTP请求的响应结果数据封装为数据模型和视图;
利用所述数据模型填充和渲染所述视图,生成所述HTTP请求的响应视图;
将所述HTTP请求的响应视图,返回至所述用户前端。
7.一种基于Spring Restful框架实现公共控制逻辑的装置,其特征在于,包括:
公共控制逻辑扩展点确定模块,用于在Spring Restful框架中,确定待插入公共控制逻辑的扩展点;
公共控制逻辑插入模块,用于在确定的扩展点插入对HTTP请求执行公共控制逻辑处理的自定义数据处理器;
公共控制逻辑执行模块,用于调用插入的自定义数据处理器,对来自用户前端的HTTP请求执行公共控制逻辑处理。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
HTTP请求接收模块,用于接收来自用户前端的HTTP请求;
HTTP请求派发模块,用于将所述HTTP请求派发给处理器映射器;
其中,公共控制逻辑插入模块还用于:接收所述处理器映射器根据所述HTTP请求返回的处理器执行链;在所述处理器映射器返回的处理器执行链中,插入对HTTP请求执行会话有效性检查的自定义拦截器。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
响应结果数据获取模块,用于HTTP请求响应模块,用于获取所述HTTP请求的响应结果数据;
响应结果数据封装模块,用于将所述HTTP请求的响应结果数据封装为数据模型和视图;
前端视图生成模块,用于利用所述数据模型填充和渲染所述视图,生成所述HTTP请求的响应视图;
HTTP请求响应模块,用于将所述HTTP请求的响应视图,返回至所述用户前端。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述基于Spring Restful框架实现公共控制逻辑的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6任一项所述基于Spring Restful框架实现公共控制逻辑的方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011376567.0A CN112363720B (zh) | 2020-11-30 | 2020-11-30 | 基于Spring Restful框架实现公共控制逻辑的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011376567.0A CN112363720B (zh) | 2020-11-30 | 2020-11-30 | 基于Spring Restful框架实现公共控制逻辑的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363720A true CN112363720A (zh) | 2021-02-12 |
CN112363720B CN112363720B (zh) | 2024-02-23 |
Family
ID=74535657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011376567.0A Active CN112363720B (zh) | 2020-11-30 | 2020-11-30 | 基于Spring Restful框架实现公共控制逻辑的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363720B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190407A (zh) * | 2021-05-07 | 2021-07-30 | 北京金融资产交易所有限公司 | 数据运维系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090138893A1 (en) * | 2007-11-23 | 2009-05-28 | Ketera Technologies Inc. | Interceptor Framework Using Java Dynamic Proxies |
US20120054095A1 (en) * | 2010-05-21 | 2012-03-01 | Hsbc Technologies Inc. | Account opening computer system architecture and process for implementing same |
CN110069297A (zh) * | 2019-03-28 | 2019-07-30 | 平安科技(深圳)有限公司 | 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质 |
CN111984247A (zh) * | 2020-09-11 | 2020-11-24 | 得到(天津)文化传播有限公司 | 一种业务处理方法、装置和电子设备 |
-
2020
- 2020-11-30 CN CN202011376567.0A patent/CN112363720B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090138893A1 (en) * | 2007-11-23 | 2009-05-28 | Ketera Technologies Inc. | Interceptor Framework Using Java Dynamic Proxies |
US20120054095A1 (en) * | 2010-05-21 | 2012-03-01 | Hsbc Technologies Inc. | Account opening computer system architecture and process for implementing same |
CN110069297A (zh) * | 2019-03-28 | 2019-07-30 | 平安科技(深圳)有限公司 | 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质 |
CN111984247A (zh) * | 2020-09-11 | 2020-11-24 | 得到(天津)文化传播有限公司 | 一种业务处理方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
LICHENG XU: "Spring MVC:拦截器开发与控制器接收各类请求参数", pages 1 - 11, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_43912883/article/details/102585588?ops_request_misc=&request_id=639edb857c604772bbae58b6c441b492&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~all~koosearch~default-1-102585588-null-null.142^v93^koosearch_v1&utm_term=SpringMVC%20%E6%8B%A6%E6%88%AA%E5%99%A8%E5%BC%80%E5%8F%91%E4%B8%8E%E6%8E%A7%E5%88%B6%E5%99%A8%E6%8E%A5%E6%94%B6&spm=1018.2226.3001.4187> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190407A (zh) * | 2021-05-07 | 2021-07-30 | 北京金融资产交易所有限公司 | 数据运维系统 |
CN113190407B (zh) * | 2021-05-07 | 2024-06-07 | 北京金融资产交易所有限公司 | 数据运维系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112363720B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10902116B2 (en) | Systems and methods to detect and neutralize malware infected electronic communications | |
CN108848092B (zh) | 基于调用链的微服务灰度发布的处理方法及装置 | |
Zheng et al. | Ethereum smart contract development in solidity | |
CN111143087B (zh) | 一种接口调用方法、装置、存储介质和服务器 | |
US20090313319A1 (en) | System and Method for Dynamic Partitioning of Applications in Client-Server Environments | |
CN108255545B (zh) | 组件间的功能调用方法、装置及组件化架构系统 | |
US11561997B2 (en) | Methods, systems, and computer readable media for data translation using a representational state transfer (REST) application programming interface (API) | |
US8799861B2 (en) | Performance-testing a system with functional-test software and a transformation-accelerator | |
US9971636B2 (en) | Methods for implementing web services and devices thereof | |
US20160259712A1 (en) | System and method for determination of code coverage for software applications in a network environment | |
WO2021175053A1 (zh) | 一种在虚拟机中执行功能模块的方法和装置 | |
WO2021146988A1 (en) | Method and apparatus for protecting smart contracts against attacks | |
CN112463294A (zh) | 一种物理gpu虚拟化管理方法、系统、设备、产品 | |
CN116502283A (zh) | 一种隐私数据处理方法及装置 | |
CN111597269A (zh) | 一种基于区块链的合约实现方法、装置及设备 | |
CN112363720B (zh) | 基于Spring Restful框架实现公共控制逻辑的方法及装置 | |
CN115934537A (zh) | 接口测试工具生成方法、装置、设备、介质及产品 | |
CN112925523B (zh) | 对象比较方法、装置、设备及计算机可读介质 | |
CN108076067B (zh) | 一种授权爬虫配置化模拟登录的方法及系统 | |
CN114143053A (zh) | 一种第三方服务登录方法、装置、终端设备及存储介质 | |
KR101385608B1 (ko) | 거래 추적 시스템 및 그 제어방법 | |
US20170302541A1 (en) | System and method for monitoring service | |
CN113901377B (zh) | 遗留系统的服务调用方法、装置、存储介质及设备 | |
CN115102829B (zh) | 一种请求报文处理方法及装置 | |
CN115242625B (zh) | 服务部署方法、装置、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |