CN111985186A - 一种字典项转换方法、api网关系统、设备及存储介质 - Google Patents
一种字典项转换方法、api网关系统、设备及存储介质 Download PDFInfo
- Publication number
- CN111985186A CN111985186A CN202010872944.3A CN202010872944A CN111985186A CN 111985186 A CN111985186 A CN 111985186A CN 202010872944 A CN202010872944 A CN 202010872944A CN 111985186 A CN111985186 A CN 111985186A
- Authority
- CN
- China
- Prior art keywords
- dictionary
- conversion
- api gateway
- request message
- interface
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 125
- 238000011161 development Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 abstract description 13
- 238000012360 testing method Methods 0.000 abstract description 13
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提出一种字典项转换方法、API网关系统、设备及存储介质,该方法包括:接收终端发送的请求报文,判断请求报文对应的接口是否需要字典转换;发送请求报文给对应的业务微服务,接收业务微服务返回的请求报文对应的响应报文;若需要字典转换,根据API网关存储的字典项,对响应报文进行字典转换。本申请在API网关上存储字典项,由API网关进行字典转换,业务微服务不进行字典转换操作,在业务微服务系统开发时无需关注字典转换的开发,提高了开发效率。简化了字典转换功能的测试过程,不需要对业务微服务逐个测试,只需对API网关测试即可。当变更字典项时,只需修改API网关存储的字典项,不易出现遗漏或者测试不充分的情况。
Description
技术领域
本申请属于微服务技术领域,具体涉及一种字典项转换方法、API网关系统、设备及存储介质。
背景技术
微服务系统包括多个业务微服务和一个API(Application ProgrammingInterface,应用程序接口)网关,业务微服务负责处理终端的业务请求,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(JavaScript Object Notation,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(Uniform Resource Locator,统一资源定位器)中包括触发该请求报文的接口对应的接口路径。
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(HyperText Transfer Protocol,超文本传输协议)将该新的响应报文发送给终端。
终端接收到该新的响应报文之后,将响应体中的内容展示给用户,用户可以直接看到字典编码对应的文字描述。
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-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种字典项转换方法,其特征在于,应用于API网关,包括:
接收终端发送的请求报文,判断所述请求报文对应的接口是否需要进行字典转换;
发送所述请求报文给对应的业务微服务,接收所述业务微服务返回的所述请求报文对应的响应报文;
若确定需要进行字典转换,根据所述API网关存储的字典项,对所述响应报文进行字典转换。
2.根据权利要求1所述的方法,其特征在于,所述判断所述请求报文对应的接口是否需要进行字典转换,包括:
从所述请求报文的请求头中提取所述请求报文对应的接口路径;确定预先设定的需要字典转换的接口路径中是否包括提取的所述接口路径;如果是,则确定所述请求报文需要进行字典转换;或者,
检测所述请求报文的请求头中是否包含预设编码标识符;
如果是,则确定所述请求报文对应的接口需要进行字典转换。
3.根据权利要求1所述的方法,其特征在于,所述根据所述API网关存储的字典项,对所述响应报文进行字典转换,包括:
提取所述响应报文的响应体;
遍历所述响应体中的各个属性;
判断遍历到的各个属性中是否包括预设编码标识符;
如果是,则从所述API网关存储的字典项中,获取包括预设编码标识符的目标属性对应的文字描述;
在所述响应体中添加所述文字描述。
4.根据权利要求3所述的方法,其特征在于,所述从所述API网关存储的字典项中,获取包括预设编码标识符的目标属性对应的文字描述,包括:
获取所述目标属性的属性值;
根据所述属性值,从所述API网关存储的字典项中获取所述目标属性对应的文字描述。
5.根据权利要求3所述的方法,其特征在于,所述在所述响应体中添加所述文字描述,包括:
从所述目标属性的属性名称中提取除预设编码标识符外的字符串;
根据所述字符串和预设描述标识符,生成所述文字描述对应的属性名称;
将生成的所述属性名称和所述文字描述组成一个新的属性;
将所述新的属性添加到所述响应体中。
6.根据权利要求3或5所述的方法,其特征在于,将所有包括预设编码标识符的属性对应的文字描述添加到所述响应体之后,还包括:
从所述响应报文中获取响应头;
根据所述响应头和添加后的所述响应体,生成新的响应报文;
将所述新的响应报文发送给所述终端。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述接收终端发送的请求报文,判断所述请求报文对应的接口是否需要进行字典转换之前,还包括:
遍历终端的页面中包括的每个接口对应的响应内容;
判断遍历到的当前接口对应的响应内容中是否包含需要字典转换的字典编码;
如果是,则确定所述当前接口为需要进行字典转换的接口,在API网关的配置文件中存储所述当前接口的接口路径。
8.一种API网关系统,其特征在于,所述API网关系统的配置文件中存储有字典项,所述API网关系统包括:
收发模块,用于接收终端发送的请求报文;发送所述请求报文给对应的业务微服务;以及,接收所述业务微服务返回的所述请求报文对应的响应报文;
判断模块,用于判断所述请求报文对应的接口是否需要进行字典转换;
转换模块,用于在所述判断模块确定所述请求报文需要进行字典转换时,根据所述配置文件中存储的字典项,对所述响应报文进行字典转换。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述的字典项转换方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述的字典项转换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010872944.3A CN111985186A (zh) | 2020-08-26 | 2020-08-26 | 一种字典项转换方法、api网关系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010872944.3A CN111985186A (zh) | 2020-08-26 | 2020-08-26 | 一种字典项转换方法、api网关系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111985186A true CN111985186A (zh) | 2020-11-24 |
Family
ID=73440934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010872944.3A Pending CN111985186A (zh) | 2020-08-26 | 2020-08-26 | 一种字典项转换方法、api网关系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985186A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472880A (zh) * | 2021-06-30 | 2021-10-01 | 中国银行股份有限公司 | 微服务架构中基于数据库配置的网关处理方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099054A1 (en) * | 2008-05-26 | 2011-04-28 | Hitachi, Ltd. | Human behavior analysis system |
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN109460223A (zh) * | 2018-11-14 | 2019-03-12 | 沈阳林科信息技术有限公司 | 一种api网关管理系统及其方法 |
EP3462706A1 (en) * | 2017-09-29 | 2019-04-03 | Siemens Aktiengesellschaft | Information processing method, apparatus, and system for monitoring microservices |
CN110768820A (zh) * | 2019-09-11 | 2020-02-07 | 厦门科灿信息技术有限公司 | 一种基于snmp协议的数据通信方法及相关设备 |
CN110798357A (zh) * | 2019-11-05 | 2020-02-14 | 上海景域文化传播股份有限公司 | 一种基于门票s-gds数据映射协议的api通信装置及方法 |
CN110851208A (zh) * | 2019-11-08 | 2020-02-28 | 京东数字科技控股有限公司 | 接口参数和响应数据修改方法及装置 |
CN111010417A (zh) * | 2019-10-17 | 2020-04-14 | 浪潮云信息技术有限公司 | 基于kong的数据格式转换方法、响应系统及方法 |
-
2020
- 2020-08-26 CN CN202010872944.3A patent/CN111985186A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110099054A1 (en) * | 2008-05-26 | 2011-04-28 | Hitachi, Ltd. | Human behavior analysis system |
EP3462706A1 (en) * | 2017-09-29 | 2019-04-03 | Siemens Aktiengesellschaft | Information processing method, apparatus, and system for monitoring microservices |
CN108989356A (zh) * | 2018-09-10 | 2018-12-11 | 四川长虹电器股份有限公司 | 一种api网关实现协议转换的方法 |
CN109460223A (zh) * | 2018-11-14 | 2019-03-12 | 沈阳林科信息技术有限公司 | 一种api网关管理系统及其方法 |
CN110768820A (zh) * | 2019-09-11 | 2020-02-07 | 厦门科灿信息技术有限公司 | 一种基于snmp协议的数据通信方法及相关设备 |
CN111010417A (zh) * | 2019-10-17 | 2020-04-14 | 浪潮云信息技术有限公司 | 基于kong的数据格式转换方法、响应系统及方法 |
CN110798357A (zh) * | 2019-11-05 | 2020-02-14 | 上海景域文化传播股份有限公司 | 一种基于门票s-gds数据映射协议的api通信装置及方法 |
CN110851208A (zh) * | 2019-11-08 | 2020-02-28 | 京东数字科技控股有限公司 | 接口参数和响应数据修改方法及装置 |
Non-Patent Citations (2)
Title |
---|
ZXLMASTER: ""iresty/nginx-lua-module-zh-wiki/README.md"", pages 1 - 5, Retrieved from the Internet <URL:《https://github.com/iresty/nginx-lua-module-zh-wiki/blob/master/README.md》> * |
赵兴利 等: ""面向空间智能化的嵌入式网关服务器系统设计"", 《河北工业大学学报》, vol. 46, no. 02, 15 April 2017 (2017-04-15), pages 58 - 62 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472880A (zh) * | 2021-06-30 | 2021-10-01 | 中国银行股份有限公司 | 微服务架构中基于数据库配置的网关处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177005B (zh) | 业务应用的测试方法、装置、服务器和存储介质 | |
CN108984388B (zh) | 一种生成自动化测试用例的方法及终端设备 | |
CN107920094B (zh) | 数据获取方法、装置、服务器及网络设备 | |
CN110275831B (zh) | 协议接口的mock数据校验方法和装置 | |
CN114500690B (zh) | 接口数据处理方法、装置、电子设备及存储介质 | |
CN107688733B (zh) | 业务接口调用方法、装置、用户终端和可读存储介质 | |
CN112187558B (zh) | 数据校验方法、装置、电子设备 | |
CN110727417B (zh) | 一种数据处理方法和装置 | |
CN111090788A (zh) | json文件的比对方法、装置、存储介质及计算机设备 | |
CN111985186A (zh) | 一种字典项转换方法、api网关系统、设备及存储介质 | |
CN111209325A (zh) | 业务系统接口识别方法、装置及存储介质 | |
CN108809896A (zh) | 一种信息校验方法、装置和电子设备 | |
CN112487163B (zh) | 自动化流程的执行方法及其接口数据的获取方法、装置 | |
CN116776030A (zh) | 灰度发布方法、装置、计算机设备、存储介质 | |
CN111049813B (zh) | 报文组装方法、解析方法、装置及存储介质 | |
CN107483294B (zh) | 监控网络请求的方法及装置 | |
CN108776665B (zh) | 一种数据处理方法及装置 | |
CN107948022B (zh) | 一种对等网络流量的识别方法及识别装置 | |
CN111078477A (zh) | 接口测试的方法、装置、存储介质和电子设备 | |
CN109617974A (zh) | 一种请求处理方法、装置及服务器 | |
CN115577200B (zh) | 加载页面的方法、装置、设备以及存储介质 | |
CN115396525B (zh) | 基于服务模板映射的数据交互方法及装置 | |
CN114461502B (zh) | 模型的监控方法和装置 | |
TWI462534B (zh) | Information transmission method and device in instant messaging | |
CN117251230A (zh) | 一种接口参数批量设置方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210210 Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Applicant after: Shenzhen saiante Technology Service Co.,Ltd. Address before: 518002 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen City, Guangdong Province Applicant before: Ping An International Smart City Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |