一种字典项转换方法、API网关系统、设备及存储介质与流程

文档序号:23054492发布日期:2020-11-25 17:32阅读:164来源:国知局
一种字典项转换方法、API网关系统、设备及存储介质与流程

本申请属于微服务技术领域,具体涉及一种字典项转换方法、api网关系统、设备及存储介质。



背景技术:

微服务系统包括多个业务微服务和一个api(applicationprogramminginterface,应用程序接口)网关,业务微服务负责处理终端的业务请求,api网关负责在终端与各个业务微服务之间进行数据转发。

每个业务微服务中都有一些数据是以编码的形式存储在数据库中,但需要以文字描述的形式展示给用户。例如,北京市是以编码110000000000的形式存储在数据库中,但在用户查看时需要向用户展示“北京市”。将编码与文字描述的这种映射关系称为字典项,则业务微服务需要进行字典项转换。因此在每个业务微服务的开发过程中,需要分别为每个业务微服务开发各自的字典项转换程序,并在每个业务微服务的数据库中都存储字典项的映射关系。

由于每个业务微服务开发时都需要进行字典转换相关的开发工作,开发效率很低。而且在业务微服务的数据库中存储字典项,会占用数据库性能,在字典项的数据量很大时存在性能风险。



技术实现要素:

本申请提出一种字典项转换方法、api网关系统、设备及存储介质,在api网关上存储字典项,由api网关进行字典转换,业务微服务不进行任何字典转换操作,所以在各业务微服务系统开发时无需关注字典转换功能的开发,提高了开发效率,且不会影响业务微服务的数据库性能。

本申请第一方面实施例提出了一种字典项转换方法,应用于api网关,包括:

接收终端发送的请求报文,判断所述请求报文对应的接口是否需要进行字典转换;

发送所述请求报文给对应的业务微服务,接收所述业务微服务返回的所述请求报文对应的响应报文;

若确定需要进行字典转换,根据所述api网关存储的字典项,对所述响应报文进行字典转换。

在本申请的一些实施例中,所述判断所述请求报文对应的接口是否需要进行字典转换,包括:

从所述请求报文的请求头中提取所述请求报文对应的接口路径;确定预先设定的需要字典转换的接口路径中是否包括提取的所述接口路径;如果是,则确定所述请求报文需要进行字典转换;或者,

检测所述请求报文的请求头中是否包含预设编码标识符;如果是,则确定所述请求报文对应的接口需要进行字典转换。

在本申请的一些实施例中,所述根据所述api网关存储的字典项,对所述响应报文进行字典转换,包括:

提取所述响应报文的响应体;

遍历所述响应体中的各个属性;

判断遍历到的各个属性中是否包括预设编码标识符;

如果是,则从所述api网关存储的字典项中,获取包括预设编码标识符的目标属性对应的文字描述;

在所述响应体中添加所述文字描述。

在本申请的一些实施例中,所述从所述api网关存储的字典项中,获取包括预设编码标识符的目标属性对应的文字描述,包括:

获取所述目标属性的属性值;

根据所述属性值,从所述api网关存储的字典项中获取所述目标属性对应的文字描述。

在本申请的一些实施例中,所述在所述响应体中添加所述文字描述,包括:

从所述目标属性的属性名称中提取除预设编码标识符外的字符串;

根据所述字符串和预设描述标识符,生成所述文字描述对应的属性名称;

将生成的所述属性名称和所述文字描述组成一个新的属性;

将所述新的属性添加到所述响应体中。

在本申请的一些实施例中,将所有包括预设编码标识符的属性对应的文字描述添加到所述响应体之后,还包括:

从所述响应报文中获取响应头;

根据所述响应头和添加后的所述响应体,生成新的响应报文;

将所述新的响应报文发送给所述终端。

在本申请的一些实施例中,所述接收终端发送的请求报文,判断所述请求报文对应的接口是否需要进行字典转换之前,还包括:

遍历终端的页面中包括的每个接口对应的响应内容;

判断遍历到的当前接口对应的响应内容中是否包含需要字典转换的字典编码;

如果是,则确定所述当前接口为需要进行字典转换的接口,在api网关的配置文件中存储所述当前接口的接口路径。

本申请第二方面的实施例提供了一种api网关系统,所述api网关系统的配置文件中存储有字典项,所述api网关系统包括:

收发模块,用于接收终端发送的请求报文;发送所述请求报文给对应的业务微服务;以及,接收所述业务微服务返回的所述请求报文对应的响应报文;

判断模块,用于判断所述请求报文对应的接口是否需要进行字典转换;

转换模块,用于在所述判断模块确定所述请求报文需要进行字典转换时,根据所述配置文件中存储的字典项,对所述响应报文进行字典转换。

本申请第三方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述第一方面所述的字典项转换方法的步骤。

本申请第四方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面所述的字典项转换方法的步骤。

本申请实施例中提供的技术方案,至少具有如下技术效果或优点:

在本申请实施例中,在api网关上存储字典项,由api网关进行字典转换,业务微服务不进行任何字典转换操作,所以在各业务微服务系统开发时无需关注字典转换功能的开发,提高了开发效率。简化了微服务架构中关于字典转换功能的测试过程,不需要对所有业务微服务逐个进行测试,只需对api网关进行测试即可。当需要变更字典项时,只需要修改api网关的配置文件中存储的字典项即可,不容易出现遗漏或者测试不充分的情况。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本申请一实施例所提供的微服务系统的架构示意图;

图2示出了本申请一实施例所提供的一种字典项转换方法的流程示意图;

图3示出了本申请一实施例所提供的一种api网关系统的结构示意图;

图4示出了本申请一实施例所提供的一种计算机设备的结构示意图;

图5示出了本申请一实施例所提供的一种存储介质的示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。

图1为一个实施例中提供的字典项转换方法的实施环境图为微服务系统,如图1所示,在微服务系统的架构中,包括终端110以及服务器120。其中,服务器120中包括api网关和多个业务微服务,api网关和业务微服务均为独立运行与服务器120中的应用程序,api网关分别与终端110及各个业务微服务连接,图1中仅示意性地画出了三个业务微服务,实际应用中可根据业务需求来设置业务微服务,本申请实施例并不限定业务微服务的数量。

需要说明的是,服务器120以及终端110可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端110与api网关可以通过无线方式或有线方式通信连接,本申请在此不做限制。

本申请的一些实施例提供了一种字典项转换方法,该方法在api网关的配置文件中存储了字典项,由api网关负责所有字典项转换操作,各业务微服务不再进行任何字典项转换的相关工作,因此在各业务微服务系统开发时无需进行字典转换的开发,提高了开发效率,也不会占用各业务微服务的数据库资源,不会因为字典转换给业务微服务引入性能风险。

在通过本申请实施例提供的方法进行在线字典项转换之前,首先需要对api网关进行字典项转换的相关配置。具体地,将字典项以json(javascriptobjectnotation,js对象简谱)串的形式存储在hashmap(哈希图)的数据结构中,将该hashmap存储到api网关的配置文件中。hashmap用散列映射(key-value)的方式存储字典项,key代表字典编码,value代表文字描述。同一类字典项还设置有属性名称,如表1所示的字典项:

表1

通过上述方式在api网关的配置文件中存储字典项之后,还需要在api网关中配置需要进行字典项转换的接口,该接口可以为终端显示给用户的页面中提供给用户的按键或链接等,如页面中用于查看个人信息的查看接口、用于浏览商品详情页的接口等。在应用程序的开发过程中设定了页面中每个接口对应的响应内容,接口对应的响应内容即为用户点击接口后需要展示给用户看的内容。在api网关中配置需要进行字典转换的接口时,可以通过如下步骤s1-s3的操作来配置需要进行字典转换的接口,具体包括:

步骤s1:遍历终端的页面中包括的每个接口对应的响应内容。

在应用程序的开发过程中设定了页面中每个接口对应的响应内容,接口对应的响应内容即为用户点击接口后需要展示给用户看的内容。响应内容中可能有一些数据在业务微服务的数据库中是以字典编码的形式进行存储的,如北京市、天津市等行政区域的划分,在业务微服务的数据库中是以字典编码的形式进行存储的。用字典编码的形式来存储数据更加符合设备处理数据时对数据格式的要求,有利于提高设备的数据处理速度。但这些以字典编码形式存储的数据不能直接将字典编码展示给用户,因为用户无法理解这些字典编码的含义,因此在将这些内容展示给用户之前,需要将这些字典编码转换成对应的文字描述。

步骤s2:判断遍历到的当前接口对应的响应内容中是否包含需要字典转换的字典编码,如果是,则执行步骤s3的操作。

步骤s3:确定当前接口为需要进行字典转换的接口,在api网关的配置文件中存储当前接口的接口路径。

按照上述方式将所有包含字典编码的响应内容对应的接口路径存储在api网关的配置文件中。api网关自动确定哪些接口是需要进行字典转换的,自动完成需要转换的接口路径的配置,提高了字典转换功能的配置效率。

在本申请的另一些实施例中,还可以由技术人员根据每个接口对应的响应内容来确定需要进行字典转换的接口,并将这些接口的接口路径存储到api网关的配置文件中。

在api网关的配置文件中设定需要字典转换的接口对应的接口路径,后续api网关只需根据请求报文中的接口路径来判断是否需要进行字典转换即可。如此在开发时只需要在设定的接口路径对应的接口程序中设置字典转换程序,其他接口中无需做字典转换的相关开发,提高了开发效率。

在本申请的另一些实施例中,也可以不在api网关的配置文件中存储需要进行字典转换的接口路径。而是在终端与api网关之间预先约定用于表示需要进行字典转换的预设编码标识符,预设编码标识符可以为dictcode或code等。在终端中预先设定好需要进行字典转换的接口,即在终端侧应用程序的本地文件中预先存储需要进行字典转换的接口路径。当用户点击某个接口触发用户请求时,终端从应用程序的本地文件中预先设定的接口路径中查询是否包含用户点击的接口路径,若包含,则终端在该接口对应的请求报文的请求头中添加预设编码标识符,然后将该请求报文发送给api网关。api网关后续根据请求报文中是否包含预设编码标识符来确定是否需要进行字典转换。

如此只需在终端中配置进行字典转换的接口路径,由终端在需要转换的请求报文中添加预设编码标识符。而api网关中无需进行过多的配置工作,只要判断请求报文中是否包含预设编码标识符即可,简化了api网关的配置过程。

通过上述方式完成对api网关的字典转换的相关配置之后,通过图2所示的操作过程进行在线字典转换操作,具体包括以下步骤:

步骤101:接收终端发送的请求报文,判断该请求报文对应的接口是否需要进行字典转换,并发送该请求报文给对应的业务微服务。

当用户点击终端显示的页面中的某个接口时,终端发送该接口对应的请求报文给api网关,该请求报文包括请求头和请求体,请求头中包括源地址和目的地址,源地址的url(uniformresourcelocator,统一资源定位器)中包括触发该请求报文的接口对应的接口路径。

api网关接收终端发送的该请求报文之后,可以通过如下步骤1011和1012的操作来判断该请求报文对应的接口是否需要进行字典转换,具体包括:

步骤1011:从该请求报文的请求头中提取该请求报文对应的接口路径。

首先api网关从该请求报文的请求头中获取源地址,然后从该源地址的url中提取该请求报文对应的接口路径。

步骤1012:确定预先设定的需要字典转换的接口路径中是否包括提取的接口路径。

从预先存储在api网关的配置文件中的需要字典转换的接口路径中查询,确定预先设定的需要字典转换的接口路径中是否包括提取的接口路径。如果是,则确定该请求报文对应的接口需要进行字典转换。如果否,则确定该请求报文对应的接口路径不需要进行字典转换。

在本申请的另一些实施例中,api网关接收到终端发送的请求报文后,还可以通过如下步骤1013的操作来判断该请求报文对应的接口是否需要进行字典转换,具体包括:

步骤1013:检测该请求报文的请求头中是否包含预设编码标识符。如果是,则确定该请求报文对应的接口需要进行字典转换。

api网关接收到终端发送的请求报文后,还根据该请求报文的请求头中包括的目的地址,将该请求报文转发给该目的地址对应的业务微服务。

步骤102:接收业务微服务返回的该请求报文对应的响应报文。

api网关将请求报文转发给对应的业务微服务之后,业务微服务对该请求报文进行业务处理,生成该请求报文对应的响应报文,该响应报文的响应体中包括该请求报文对应的接口的响应内容,若该接口为需要进行字典转换的接口,则该响应内容中会包括一些字典编码,若将该响应内容直接展示给用户的话,用户无法理解这些字典编码的含义,因此需要将这些字典编码转换为对应的文字描述,以便于用户理解。

业务微服务生成该请求报文对应的响应报文后,发送该响应报文给api网关。api网关接收业务微服务返回的该请求报文对应的响应报文。

步骤103:若确定需要进行字典转换,根据api网关存储的字典项,对响应报文进行字典转换。

若步骤101中判断出该请求报文对应的接口需要进行字典转换,则通过如下步骤1031-1035的操作来进行字典转换,具体包括:

步骤1031:从该响应报文中提取出该响应报文的响应体。

步骤1032:遍历该响应体中的各个属性。

步骤1033:判断遍历到的各个属性中是否包括预设编码标识符。如果是,则执行步骤1034,如果否,则执行步骤1035。

例如,假设响应体中的一个属性为“developingdictcode:220000000000”,则“developingdictcode”为该属性的属性名称,“220000000000”为该属性的属性值。其中该属性的属性名称“developingdictcode”中包括预设编码标识符“dictcode”。

步骤1034:从api网关的配置文件存储的字典项中,获取包括预设编码标识符的目标属性对应的文字描述。

例如,假设api网关的配置文件存储的字典项如表2所示,则在api网关的配置文件存储的字典项中,目标属性“developingdictcode:220000000000”对应的文字描述为“测试”。

表2

本申请实施例中具体通过如下步骤a1和a2的操作来获取目标属性对应的文字描述,包括:

步骤a1:获取目标属性的属性值。

例如,从目标属性“developingdictcode:220000000000”中获取属性值“220000000000”,该属性值相当于字典项中的字典编码(key)。

步骤a2:根据该属性值,从api网关存储的字典项中获取目标属性对应的文字描述。

例如,根据获取的属性值“220000000000”,从上述表2所示的api网关的配置文件中存储的字典项中,获取目标属性“developingdictcode:220000000000”对应的文字描述为“测试”。

api网关的配置文件中存储的字典项是以key-value的形式存储的,包括预设编码标识符的属性对应的属性值相当于key,根据属性值从存储的字典项中能够快速地查找出属性值对应的文字描述(相当于value),提高了字典转换的速度。

步骤1035:在该响应体中添加该文字描述。

本申请实施例具体通过如下步骤b1-b4的操作向响应体中添加文字描述,具体包括:

步骤b1:从目标属性的属性名称中提取除预设编码标识符外的字符串。

例如,从目标属性“developingdictcode:220000000000”的属性名称“developingdictcode”中提取除预设编码标识符“dictcode”以外的字符串,即提取出“developing”。

步骤b2:根据该字符串和预设描述标识符,生成获取的文字描述对应的属性名称。

其中,预设描述标识符可以为dictname或name等。例如,假设预设描述标识符为dictname,则将上述提取的字符串“developing”与预设描述标识符dictname组成获取的文字描述“测试”对应的属性名称“developingdictname”。

步骤b3:将生成的属性名称和该文字描述组成一个新的属性。

将生成属性名称作为新的属性的属性名称,将该文字描述作为新的属性的属性值。

例如,将生成的属性名称“developingdictname”和该文字描述“测试”组成一个新的属性“developingdictname:测试”。

步骤b4:将新的属性添加到响应体中。

为了便于理解上述字典转换过程,下面结合具体示例再次进行说明。例如,假设当前属性为“provincedictcode:110000000000”,则判断出该属性的属性名称“provincedictcode”中包括预设编码标识符“dictcode”,获取当前属性的属性值“110000000000”。根据该属性值“110000000000”,从预先配置的表1所示的字典项中获取对应的文字描述“北京市”。从当前属性的属性名称“provincedictcode”中提取出除预设编码标识符“dictcode”外的字符串province。根据提取的字符串province和预设描述标识符“dictname”,生成该文字描述“北京市”对应的属性名称“provincedictname”。将该属性名称“provincedictname”和该文字描述“北京市”组成一个新的属性“provincedictname:北京市”。将该新的属性“provincedictname:北京市”添加到响应体中。

通过上述方式遍历响应体中所有的属性,并将所有包括预设编码标识符的属性对应的文字描述添加到响应体中,即完成了字典转换。之后还通过如下步骤104-106的操作将响应报文发送给终端,具体包括:

步骤104:从该响应报文中获取响应头。

步骤105:根据该响应头和添加文字描述后的响应体,生成新的响应报文。

步骤106:将新的响应报文发送给终端。

api网关通过http(hypertexttransferprotocol,超文本传输协议)将该新的响应报文发送给终端。

终端接收到该新的响应报文之后,将响应体中的内容展示给用户,用户可以直接看到字典编码对应的文字描述。

api网关遍历出响应体中包括预设编码标识符的所有属性,并从api网关的配置文件中存储的字典项中获取这些属性对应的文字描述,将获取的文字描述添加到该响应体中,以生成新的响应信息。整个字典转换过程全部由api网关来完成,业务微服务不参与任何字典转换操作,所以在各业务微服务系统开发时无需关注字典转换功能的开发,提高了开发效率。

在本申请实施例中每当api网关接收到一个请求报文时,api网关创建一个线程,通过该线程完成该请求报文是否需要进行字典转换、请求报文的转发、响应报文的接收、响应报文的字典转换及响应报文的转发等操作。通过多线程并发处理多个请求报文,处理效率很高,而且对各请求报文的处理通过线程相互隔离,避免出现字典转换出错的情况。

本申请实施例在api网关上存储字典项,由api网关进行字典转换,业务微服务不进行任何字典转换操作,所以在各业务微服务系统开发时无需关注字典转换功能的开发,提高了开发效率。简化了微服务架构中关于字典转换功能的测试过程,不需要对所有业务微服务逐个进行测试,只需对api网关进行测试即可。当需要变更字典项时,只需要修改api网关的配置文件中存储的字典项即可,不容易出现遗漏或者测试不充分的情况。

如图3所示,本申请实施例提供了一种api网关系统,该api网关系统的配置文件中存储有字典项,该api网关系统包括:

收发模块301,用于接收终端发送的请求报文;发送请求报文给对应的业务微服务;以及,接收业务微服务返回的请求报文对应的响应报文;

判断模块302,用于判断请求报文对应的接口是否需要进行字典转换;

转换模块303,用于在判断模块确定请求报文需要进行字典转换时,根据配置文件中存储的字典项,对响应报文进行字典转换。

判断模块302,具体用于从请求报文的请求头中提取请求报文对应的接口路径;确定预先设定的需要字典转换的接口路径中是否包括提取的接口路径;如果是,则确定请求报文需要进行字典转换;或者,用于检测请求报文的请求头中是否包含预设编码标识符;如果是,则确定请求报文对应的接口需要进行字典转换。

转换模块303包括:

提取单元,用于提取响应报文的响应体;

遍历单元,用于遍历响应体中的每个属性;

判断单元,用于判断遍历到的当前属性中是否包括预设编码标识符;

获取单元,用于如果判断单元判断出当前属性中包括预设编码标识符,则从api网关存储的字典项中,获取当前属性对应的文字描述;

添加单元,用于在响应体中添加文字描述。

上述获取单元,用于获取当前属性的属性值;根据属性值,从api网关存储的字典项中获取属性值对应的文字描述。

添加单元,具体用于从当前属性的属性名称中提取除预设编码标识符外的字符串;根据字符串和预设描述标识符,生成文字描述对应的属性名称;将生成的属性名称和文字描述组成一个新的属性;将新的属性添加到响应体中。

该api网关系统还包括:生成模块,用于从响应报文中获取响应头;根据响应头和添加后的响应体,生成新的响应报文;

收发模块301,还用于将新的响应报文发送给终端。

该api网关系统还包括:配置模块,用于遍历终端的页面中包括的每个接口对应的响应内容;判断遍历到的当前接口对应的响应内容中是否包含需要字典转换的字典编码;如果是,则确定当前接口为需要进行字典转换的接口,在api网关的配置文件中存储当前接口的接口路径。

本申请实施例提供的api网关系统的配置文件中存储有字典项,由api网关系统进行字典转换,业务微服务不进行任何字典转换操作,所以在各业务微服务系统开发时无需关注字典转换功能的开发,提高了开发效率,测试简单,不需要对所有业务微服务逐个进行测试。当需要变更字典项时,只需要修改网关微服务中存储的字典项即可,不容易出现遗漏或者测试不充分的情况。

本申请实施例提供了一种计算机设备,该计算机设备可以为配置有api网关和至少一个业务微服务的服务器。如图4所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种字典项转换方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种字典项转换方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收终端发送的请求报文,判断请求报文对应的接口是否需要进行字典转换;发送请求报文给对应的业务微服务,接收业务微服务返回的请求报文对应的响应报文;若确定需要进行字典转换,根据api网关存储的字典项,对响应报文进行字典转换。

处理器执行计算机程序时还可以实现以下步骤:从请求报文的请求头中提取请求报文对应的接口路径;确定预先设定的需要字典转换的接口路径中是否包括提取的接口路径;如果是,则确定请求报文需要进行字典转换;或者,检测请求报文的请求头中是否包含预设编码标识符;如果是,则确定请求报文对应的接口需要进行字典转换。

处理器执行计算机程序时还可以实现以下步骤:提取响应报文的响应体;遍历响应体中的各个属性;判断遍历到的各个属性中是否包括预设编码标识符;如果是,则从api网关存储的字典项中,获取包括预设编码标识符的目标属性对应的文字描述;在响应体中添加文字描述。

处理器执行计算机程序时还可以实现以下步骤:获取目标属性的属性值;根据属性值,从api网关存储的字典项中获取目标属性对应的文字描述。

处理器执行计算机程序时还可以实现以下步骤:从目标属性的属性名称中提取除预设编码标识符外的字符串;根据字符串和预设描述标识符,生成文字描述对应的属性名称;将生成的属性名称和文字描述组成一个新的属性;将新的属性添加到响应体中。

处理器执行计算机程序时还可以实现以下步骤:从响应报文中获取响应头;根据响应头和添加后的响应体,生成新的响应报文;将新的响应报文发送给终端。

处理器执行计算机程序时还可以实现以下步骤:遍历终端的页面中包括的每个接口对应的响应内容;判断遍历到的当前接口对应的响应内容中是否包含需要字典转换的字典编码;如果是,则确定当前接口为需要进行字典转换的接口,在api网关的配置文件中存储当前接口的接口路径。

本申请实施例还提出了一种存储有计算机可读指令的存储介质,如图5所示,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收终端发送的请求报文,判断请求报文对应的接口是否需要进行字典转换;发送请求报文给对应的业务微服务,接收业务微服务返回的请求报文对应的响应报文;若确定需要进行字典转换,根据api网关存储的字典项,对响应报文进行字典转换。

处理器还可以执行以下步骤:从请求报文的请求头中提取请求报文对应的接口路径;确定预先设定的需要字典转换的接口路径中是否包括提取的接口路径;如果是,则确定请求报文需要进行字典转换;或者,检测请求报文的请求头中是否包含预设编码标识符;如果是,则确定请求报文对应的接口需要进行字典转换。

处理器还可以执行以下步骤:提取响应报文的响应体;遍历响应体中的各个属性;判断遍历到的各个属性中是否包括预设编码标识符;如果是,则从api网关存储的字典项中,获取包括预设编码标识符的目标属性对应的文字描述;在响应体中添加文字描述。

处理器还可以执行以下步骤:获取目标属性的属性值;根据属性值,从api网关存储的字典项中获取目标属性对应的文字描述。

处理器还可以执行以下步骤:从目标属性的属性名称中提取除预设编码标识符外的字符串;根据字符串和预设描述标识符,生成文字描述对应的属性名称;将生成的属性名称和文字描述组成一个新的属性;将新的属性添加到响应体中。

处理器还可以执行以下步骤:从响应报文中获取响应头;根据响应头和添加后的响应体,生成新的响应报文;将新的响应报文发送给终端。

处理器还可以执行以下步骤:遍历终端的页面中包括的每个接口对应的响应内容;判断遍历到的当前接口对应的响应内容中是否包含需要字典转换的字典编码;如果是,则确定当前接口为需要进行字典转换的接口,在api网关的配置文件中存储当前接口的接口路径。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1