CN110381101A - Api网关控制系统、控制方法、设备和介质 - Google Patents

Api网关控制系统、控制方法、设备和介质 Download PDF

Info

Publication number
CN110381101A
CN110381101A CN201810332949.XA CN201810332949A CN110381101A CN 110381101 A CN110381101 A CN 110381101A CN 201810332949 A CN201810332949 A CN 201810332949A CN 110381101 A CN110381101 A CN 110381101A
Authority
CN
China
Prior art keywords
service
gateway
api
routed path
warehouse
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
Application number
CN201810332949.XA
Other languages
English (en)
Other versions
CN110381101B (zh
Inventor
廖耀华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201810332949.XA priority Critical patent/CN110381101B/zh
Publication of CN110381101A publication Critical patent/CN110381101A/zh
Application granted granted Critical
Publication of CN110381101B publication Critical patent/CN110381101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种API网关控制系统、控制方法、设备及介质,其中,API网关控制方法包括:接收预设的至少一服务路由对象,服务路由对象包括入口方法和路由路径;构建一网关服务仓库,网关服务仓库包括网关服务和路由路径,网关服务包括入口方法,每一所述网关服务与至少一所述路由路径相对应;接收并解析API服务请求获取路由路径,根据路由路径从网关服务仓库中查找对应的网关服务;执行查找出的网关服务。本发明的API网关控制方法不需要对应建立多个转发控制器进行处理,从而使得API服务请求处理统一。

Description

API网关控制系统、控制方法、设备和介质
技术领域
本发明属于网络通信领域,尤其涉及一种API网关控制系统、控制方法、设备和介质。
背景技术
服务器端提供多种不同类型的服务,例如用户信息管理服务、产品信息管理服务、产品搜索服务等,客户端如手机、电脑或者其他专用客户端通过本地的APP(应用程序)发送不同的服务请求访问服务器端,服务器端应用API(应用程序编程接口)网关来分发APP端发来的服务请求给后台对应的服务器,从而实现APP的服务请求。
目前服务器端常用的API网关控制方法,如图1所示,客户端1发出的每个服务请求,在服务端2上都会对应一个转发控制器,将服务请求转发到相应的服务器执行相应的服务,多个服务就会对应多个转发控制器,这种采用多转发控制器的方式会导致如下的问题:
(1)不能进行统一的出入参格式约定;
(2)不能进行统一的异常规范;
(3)不能自动检测服务接口规范;
(4)不能统一进行权限控制。
发明内容
本发明要解决的技术问题是为了克服现有技术中API网关采用多转发控制器的方式会导致服务请求不统一的缺陷,提供一种API网关控制系统、控制方法、设备和介质。
本发明是通过下述技术方案来解决上述技术问题:
一种API网关控制方法,所述API网关控制方法包括:
接收预设的至少一服务路由对象,所述服务路由对象包括入口方法和路由路径;
构建一网关服务仓库,所述网关服务仓库包括网关服务和路由路径,所述网关服务包括所述入口方法,每一所述网关服务与至少一所述路由路径相对应;
接收并解析API服务请求获取所述路由路径,根据所述路由路径从所述网关服务仓库中查找对应的网关服务;
执行查找出的所述网关服务。
可选地,所述服务路由对象为Spring(一个开放源代码的设计层面框架)服务路由对象;
所述构建网关服务仓库的步骤包括:
扫描所有所述Spring服务路由对象;
将所述Spring服务路由对象转换成Class(一种编程语言类)对象;
获取所述Class对象的类,所述类包括所述入口方法,获取所述类中的所述入口方法;
判断所述入口方法是否符合预设规范,若是,则构建服务对象,所述服务对象包括所述入口方法,将所述服务对象注入所述网关服务;
获取所述入口方法的注解的值,设置所述路由路径为所述注解的值;
利用所述路由路径与所述网关服务构建所述网关服务仓库。
可选地,所述根据所述路由路径从所述网关服务仓库中查找对应的网关服务的步骤包括:
根据所述路由路径从所述网关服务仓库中查找所述路由路径对应的网关服务,获取所述网关服务对应的入口方法。
可选地,所述API服务请求还包括请求参数,所述执行查找出的所述网关服务的步骤包括:
解析所述API服务请求获取所述请求参数;
获取所述入口方法的定义参数的格式,将所述请求参数转换为所述定义参数的格式,将转换后的所述请求参数代入所述入口方法并执行所述入口方法。
可选地,所述获取所述入口方法的定义参数的格式,将所述请求参数转换为所述定义参数的格式的步骤包括:
通过字节码解析得到所述定义参数的参数名称,通过反射机制得到所述定义参数的参数类型;
将所述请求参数转换为Map(一个由键值对组成的数据结构)结构参数,将所述Map结构参数转换为与所述参数名称和所述参数类型相对应的所述定义参数的格式。
可选地,所述接收并解析API服务请求获取所述路由路径的步骤还包括:
接收API服务请求并检查所述API服务请求是否有权限,若是,则解析所述API服务请求。
一种API网关控制系统,所述API网关控制系统包括:
接收模块,所述接收接收模块用于接收预设的至少一服务路由对象,所述服务路由对象包括入口方法和路由路径;
仓库构建模块,所述仓库构建模块用于构建一网关服务仓库,所述网关服务仓库包括网关服务和路由路径,所述网关服务包括所述入口方法,每一所述网关服务与至少一所述路由路径相对应;
查询模块,所述查询模块用于接收并解析API服务请求获取所述路由路径,根据所述路由路径从所述网关服务仓库中查找对应的网关服务;
执行模块,所述执行模块用于执行查找出的所述网关服务。
可选地,所述服务路由对象为Spring服务路由对象;所述仓库构建模块包括方法获取单元、服务构建单元、路由获取单元和仓库构建单元;
所述方法获取单元用于扫描所有所述Spring服务路由对象;还用于将所述Spring服务路由对象转换成Class对象,获取所述Class对象的类,所述类包括所述入口方法,并获取所述类中的所述入口方法;
所述服务构建单元用于判断所述入口方法是否符合预设规范,若是,则构建服务对象,所述服务对象包括所述入口方法,还用于将所述服务对象注入所述网关服务;
所述路由获取单元用于获取所述入口方法的注解的值,设置所述路由路径为所述注解的值;
所述仓库构建单元用于利用所述路由路径与所述网关服务构建所述网关服务仓库。
可选地,所述查询模块还用于根据所述路由路径从所述网关服务仓库中查找所述路由路径对应的网关服务,获取所述网关服务对应的入口方法。
可选地,所述API服务请求包括请求参数,所述执行模块用于解析所述API服务请求获取所述请求参数;还用于获取所述入口方法的定义参数的格式,将所述请求参数转换为所述定义参数的格式,将转换后的所述请求参数代入所述入口方法并执行所述入口方法。
可选地,所述查询模块还用于通过字节码解析得到所述定义参数的参数名称,通过反射机制得到所述定义参数的参数类型;
所述查询模块还用于将所述请求参数转换为Map结构参数,将所述Map结构参数转换为与所述参数名称和所述参数类型相对应的所述定义参数的格式。
可选地,所述查询模块还用于接收API服务请求并检查所述API服务请求是否有权限,若是,则解析所述API服务请求。
一种基于API网关控制方法的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的API网关控制方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的API网关控制方法的步骤。
本发明的积极进步效果在于:
本发明的API网关控制方法通过构建一网关服务仓库;当有API服务请求时,解析API网关服务请求后从网关服务仓库中获取API网关服务请求对应的入口方法,并执行入口方法,以实现统一处理不同的API服务请求,而不需要对应建立多个转发控制器进行处理,从而使得API服务请求处理统一。
附图说明
图1为现有技术中的API网关控制方法的模块示意图。
图2为本发明实施例1的API网关控制方法的流程图。
图3为本发明实施例2的API网关控制方法的步骤102的流程图。
图4为本发明实施例2的API网关控制方法的步骤105的流程图。
图5为本发明实施例3的API网关控制系统的模块示意图。
图6为本发明实施例4的API网关控制系统的仓库构建模块的模块示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种API网关控制方法,如图2所示,所述API网关控制方法包括:
步骤101、接收预设的至少一服务路由对象,服务路由对象包括入口方法和路由路径。
不同的服务对应不同的服务器的入口方法和路由路径,接收所有服务路由对象即接收所有服务器的入口方法和对应的路由路径。
步骤102、构建一网关服务仓库,网关服务仓库包括网关服务和路由路径,网关服务包括入口方法,每一网关服务与至少一路由路径相对应。
步骤103、接收并解析API服务请求获取路由路径;
步骤104、根据路由路径从网关服务仓库中查找对应的网关服务;
步骤105、执行查找出的网关服务。
本实施例的API网关控制方法根据服务路由对象以及对应的入口方法和路由路径,构建网关服务仓库;当有API服务请求时,解析API网关服务请求得到路由路径,从网关服务仓库中获取路由路径对应的网关服务进行执行,实现统一处理不同的API服务请求,不需要对应建立多个转发控制器进行处理,从而使得API服务请求处理统一。
实施例2
本实施例提供一种API网关控制方法,本实施例以实施例1为基础,更具体地,服务路由对象为Spring服务路由对象;
如图3所示,步骤102包括:
步骤1021、扫描所有Spring服务路由对象。
本实施例中,利用Spring IOC(控制反转)容器调用BeanPostProcessor(一种接口类型)后置处理器,BeanPostProcessor后置处理器扫描所有Spring服务路由对象,SpringIOC容器应用于JAVA中,一个JAVA应用程序是由很多类组成的,这些类相互协作、相互作用来提供应用程序的表现行为。那些被其它类组合提供某些行为的类,称之为其它类的依赖(dependencies)。Spring IOC容器负责实例化这些类,并注入他们的依赖。
步骤1022、将Spring服务路由对象转换成Class对象;
步骤1023、获取Class对象的类,类包括入口方法,获取类中的入口方法。
利用反射机制,获取Class对象的类,类中包括多个方法,依次获取并判断各个方法是否为入口方法,若是,
则判断方法是否为预设网关方法注解;
本实施例中的注解为JAVA(一种编程语言)注解,其中Annotation(注解)是JDK(Java语言的软件开发工具包)1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以”@注解名”在代码中存在的,其中注解名可以自定义,通过代码里标识的元数据对代码进行分析。本实施例中的注解可以根据实际使用需求进行自定义。
在本实施例中,假设预设类的注解为@Gateway,预设网关方法注解为@GatewayMapping,通过对注解进行判断,得到入口方法。
若是,则执行步骤1024,若否,则获取下一个方法进行判断。
步骤1024、判断入口方法是否符合预设规范,若是,则执行步骤1026;若否,则执行步骤1025。
预设规范包括检测方法是否符合服务接口的规范要求,检查方法的返回值是否合法,检查方法的参数是否符合定义要求,API网关控制方法可对服务接口的规范进行统一管理和约束。
步骤1025、异常报警提示方法不符合预设规范;
步骤1026、构建服务对象,服务对象包括入口方法,将服务对象注入网关服务;
步骤1027、获取入口方法的注解的值,设置路由路径为注解的值。
注解及注解的值均可以根据实际使用需求进行自定义。
步骤1028、利用路由路径与网关服务构建网关服务仓库。本实施例中,设置KEY为路由路径,设置VALUE为网关服务,关联KEY-VALUE并保存构建网关服务仓库。
步骤104包括:
根据路由路径从网关服务仓库中查找路由路径对应的网关服务,获取网关服务对应的入口方法。
更具体地,API服务请求还包括请求参数,本实施中,请求参数以字符串的形式设置,以请求参数为学生的相关信息举例,学生的相关信息包括姓名、性别、学号和班级等信息,将学生包括的这些信息以预设的格式,组合成字符串形式的请求参数。
如图4所示,步骤105包括:
步骤1051、解析API服务请求获取请求参数。
结合上述请求参数为学生的相关信息的例子,步骤1051具体包括通过解析API服务请求分别获取字符串形式的有关学生的所有的信息。
步骤1052、获取入口方法的定义参数的格式,将请求参数转换为定义参数的格式,将转换后的请求参数代入入口方法并执行入口方法。
将有关学生的所有的信息转换成定义参数的格式,定义参数的格式包括定义参数的参数名称和定义参数的参数类型。分别使得请求参数的名称和定义参数的名称相对应、请求参数的参数类型和定义参数的类型相对应。
通过字节码解析得到定义参数的参数名称,通过反射机制得到定义参数的参数类型;
将请求参数转换为Map结构参数,将Map结构参数转换为与参数名称和参数类型相对应的定义参数的格式。
优选地,步骤103还包括:
接收API服务请求并检查API服务请求是否有权限,若是,则解析API服务请求。
权限可以根据实际使用需求进行限定,比如限定业务参数的格式,只接受符合预设格式的业务参数;限定路由路径的范围,不在范围内的路由路径不予处理;针对异常的API服务请求不予处理,API网关控制方法可对权限进行统一管理和约束。
本实施例的API网关控制方法根据服务路由对象以及对应的入口方法和路由路径,构建网关服务仓库;当有API服务请求时,解析API网关服务请求得到路由路径,从网关服务仓库中获取路由路径对应的网关服务进行执行,实现统一处理不同的API服务请求,不需要对应建立多个转发控制器进行处理,从而使得API服务请求处理统一。
实施例3
本实施例提供一种API网关控制系统,如图5所示,API网关控制系统包括:接收模块301、仓库构建模块302、查询模块303、执行模块304。
接收模块301用于接收预设的至少一服务路由对象,服务路由对象包括入口方法和路由路径;
不同的服务对应不同的服务器的入口方法和路由路径,接收所有服务路由对象即接收所有服务器的入口方法和对应的路由路径。
仓库构建模块302用于构建一网关服务仓库,网关服务仓库包括网关服务和路由路径,网关服务包括入口方法,每一网关服务与至少一路由路径相对应;
查询模块303用于接收并解析API服务请求获取路由路径,根据路由路径从网关服务仓库中查找对应的网关服务;
执行模块304用于执行查找出的网关服务。
本实施例的API网关控制系统根据服务路由对象以及对应的入口方法和路由路径,构建网关服务仓库;当有API服务请求时,解析API网关服务请求得到路由路径,从网关服务仓库中获取路由路径对应的网关服务进行执行,实现统一处理不同的API服务请求,不需要对应建立多个转发控制器进行处理,从而使得API服务请求处理统一。
实施例4
本实施例提供一种API网关控制系统,本实施例是以实施例3为基础的,服务路由对象为Spring服务路由对象;如图6所示,仓库构建模块302包括方法获取单元3021、转换单元3022、服务构建单元3023、路由获取单元3024和仓库构建单元3025。
方法获取单元3021用于扫描所有Spring服务路由对象。
本实施例中,方法获取单元3021利用Spring IOC容器调用BeanPostProcessor后置处理器,BeanPostProcessor后置处理器扫描所有Spring服务路由对象,Spring IOC容器应用于JAVA中,一个JAVA应用程序是由很多类组成的,这些类相互协作、相互作用来提供应用程序的表现行为。那些被其它类组合提供某些行为的类,称之为其它类的依赖(dependencies)。Spring IOC容器负责实例化这些类,并注入他们的依赖。
转换单元3022用于将Spring服务路由对象转换成Class对象,获取Class对象的类,类包括入口方法,并获取类中的入口方法。
类中包括多个方法,依次获取并判断各个方法是否为入口方法,若是,则判断方法是否为预设网关方法注解;若是,则调用服务构建单元3022,若否,则获取下一个方法进行判断。
服务构建单元3023用于判断入口方法是否符合预设规范,若是,则构建服务对象,服务对象包括入口方法,还用于将服务对象注入网关服务;若否,异常报警提示方法不符合预设规范,获取下一个Spring对像,调用转换单元3022。
预设规范包括检测方法是否符合服务接口的规范要求,检查方法的返回值是否合法,检查方法的参数是否符合定义要求,API网关控制方法可对服务接口的规范进行统一管理和约束。
路由获取单元3024用于获取入口方法的注解的值,设置路由路径为注解的值;
仓库构建单元3025用于利用路由路径与网关服务构建网关服务仓库。
本实施例中,设置KEY为路由路径,设置VALUE为网关服务,关联KEY-VALUE并保存构建网关服务仓库。
查询模块303还用于根据路由路径从网关服务仓库中查找路由路径对应的网关服务,获取网关服务对应的入口方法。
本实施例中的注解为JAVA注解,其中Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以”@注解名”在代码中存在的,其中注解名可以自定义,通过代码里标识的元数据对代码进行分析。本实施例中的注解可以根据实际使用需求进行自定义。
在本实施例中,假设预设类的注解为@Gateway,预设网关方法注解为@GatewayMapping,通过对注解进行判断,得到入口方法。
更具体地,定义参数的格式包括定义参数的参数名称和定义参数的参数类型。
API服务请求包括请求参数,本实施中,请求参数以字符串的形式设置,以请求参数为学生的相关信息举例,学生的相关信息包括姓名、性别、学号和班级等信息,将学生包括的这些信息以预设的格式,组合成字符串形式的请求参数。通过从API服务请求中分别获取字符串形式的有关学生的所有的信息,将有关学生的所有的信息转换成定义参数的格式,即分别使得请求参数的名称和定义参数的名称相对应、请求参数的参数类型和定义参数的类型相对应。
查询模块303用于通过字节码解析得到定义参数的参数名称,通过反射机制得到定义参数的参数类型;
查询模块303还用于将请求参数转换为Map结构参数,将Map结构参数转换为与参数名称和参数类型相对应的格式。
可选地,查询模块303还用于接收API服务请求并检查API服务请求是否有权限,若是,则解析API服务请求。
执行模块304用于解析API服务请求获取所述请求参数;还用于获取入口方法的定义参数的格式,将请求参数转换为定义参数的格式,将转换后的请求参数代入入口方法并执行入口方法。
权限可以根据实际使用需求进行限定,比如限定业务参数的格式,只接受符合预设格式的业务参数;限定路由路径的范围,不在范围内的路由路径不予处理;针对异常的API服务请求不予处理,API网关控制方法可对权限进行统一管理和约束。
本实施例的API网关控制系统根据服务路由对象以及对应的入口方法和路由路径,构建网关服务仓库;当有API服务请求时,解析API网关服务请求得到路由路径,从网关服务仓库中获取路由路径对应的网关服务进行执行,实现统一处理不同的API服务请求,不需要对应建立多个转发控制器进行处理,从而使得API服务请求处理统一。
实施例5
本实施例的基于API网关控制方法的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例2中的API网关控制方法。
实施例6
本实施例的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例2中的API网关控制方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例2中的API网关控制方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (14)

1.一种API网关控制方法,其特征在于,所述API网关控制方法包括:
接收预设的至少一服务路由对象,所述服务路由对象包括入口方法和路由路径;
构建一网关服务仓库,所述网关服务仓库包括网关服务和路由路径,所述网关服务包括所述入口方法,每一所述网关服务与至少一所述路由路径相对应;
接收并解析API服务请求获取所述路由路径,根据所述路由路径从所述网关服务仓库中查找对应的网关服务;
执行查找出的所述网关服务。
2.如权利要求1所述的API网关控制方法,其特征在于,所述服务路由对象为Spring服务路由对象;
所述构建网关服务仓库的步骤包括:
扫描所有所述Spring服务路由对象;
将所述Spring服务路由对象转换成Class对象;
获取所述Class对象的类,所述类包括所述入口方法,获取所述类中的所述入口方法;
判断所述入口方法是否符合预设规范,若是,则构建服务对象,所述服务对象包括所述入口方法,将所述服务对象注入所述网关服务;
获取所述入口方法的注解的值,设置所述路由路径为所述注解的值;
利用所述路由路径与所述网关服务构建所述网关服务仓库。
3.如权利要求1所述的API网关控制方法,其特征在于,所述根据所述路由路径从所述网关服务仓库中查找对应的网关服务的步骤包括:
根据所述路由路径从所述网关服务仓库中查找所述路由路径对应的网关服务,获取所述网关服务对应的入口方法。
4.如权利要求3所述的API网关控制方法,其特征在于,所述API服务请求还包括请求参数,所述执行查找出的所述网关服务的步骤包括:
解析所述API服务请求获取所述请求参数;
获取所述入口方法的定义参数的格式,将所述请求参数转换为所述定义参数的格式,将转换后的所述请求参数代入所述入口方法并执行所述入口方法。
5.如权利要求4所述的API网关控制方法,其特征在于,所述获取所述入口方法的定义参数的格式,将所述请求参数转换为所述定义参数的格式的步骤包括:
通过字节码解析得到所述定义参数的参数名称,通过反射机制得到所述定义参数的参数类型;
将所述请求参数转换为Map结构参数,将所述Map结构参数转换为与所述参数名称和所述参数类型相对应的所述定义参数的格式。
6.如权利要求1所述的API网关控制方法,其特征在于,所述接收并解析API服务请求获取所述路由路径的步骤还包括:
接收API服务请求并检查所述API服务请求是否有权限,若是,则解析所述API服务请求。
7.一种API网关控制系统,其特征在于,所述API网关控制系统包括:
接收模块,所述接收模块用于接收预设的至少一服务路由对象,所述服务路由对象包括入口方法和路由路径;
仓库构建模块,所述仓库构建模块用于构建一网关服务仓库,所述网关服务仓库包括网关服务和路由路径,所述网关服务包括所述入口方法,每一所述网关服务与至少一所述路由路径相对应;
查询模块,所述查询模块用于接收并解析API服务请求获取所述路由路径,根据所述路由路径从所述网关服务仓库中查找对应的网关服务;
执行模块,所述执行模块用于执行查找出的所述网关服务。
8.如权利要求7所述的API网关控制系统,其特征在于,所述服务路由对象为Spring服务路由对象;所述仓库构建模块包括方法获取单元、服务构建单元、路由获取单元和仓库构建单元;
所述方法获取单元用于扫描所有所述Spring服务路由对象;还用于将所述Spring服务路由对象转换成Class对象,获取所述Class对象的类,所述类包括所述入口方法,并获取所述类中的所述入口方法;
所述服务构建单元用于判断所述入口方法是否符合预设规范,若是,则构建服务对象,所述服务对象包括所述入口方法,还用于将所述服务对象注入所述网关服务;
所述路由获取单元用于获取所述入口方法的注解的值,设置所述路由路径为所述注解的值;
所述仓库构建单元用于利用所述路由路径与所述网关服务构建所述网关服务仓库。
9.如权利要求7所述的API网关控制系统,其特征在于,所述查询模块还用于根据所述路由路径从所述网关服务仓库中查找所述路由路径对应的网关服务,获取所述网关服务对应的入口方法。
10.如权利要求9所述的API网关控制系统,其特征在于,所述API服务请求包括请求参数,所述执行模块用于解析所述API服务请求获取所述请求参数;还用于获取所述入口方法的定义参数的格式,将所述请求参数转换为所述定义参数的格式,将转换后的所述请求参数代入所述入口方法并执行所述入口方法。
11.如权利要求10所述的API网关控制系统,其特征在于,所述查询模块还用于通过字节码解析得到所述定义参数的参数名称,通过反射机制得到所述定义参数的参数类型;
所述查询模块还用于将所述请求参数转换为Map结构参数,将所述Map结构参数转换为与所述参数名称和所述参数类型相对应的所述定义参数的格式。
12.如权利要求7所述的API网关控制系统,其特征在于,所述查询模块还用于接收API服务请求并检查所述API服务请求是否有权限,若是,则解析所述API服务请求。
13.一种基于API网关控制方法的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6中任一项所述的API网关控制方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的API网关控制方法的步骤。
CN201810332949.XA 2018-04-13 2018-04-13 Api网关控制系统、控制方法、设备和介质 Active CN110381101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810332949.XA CN110381101B (zh) 2018-04-13 2018-04-13 Api网关控制系统、控制方法、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810332949.XA CN110381101B (zh) 2018-04-13 2018-04-13 Api网关控制系统、控制方法、设备和介质

Publications (2)

Publication Number Publication Date
CN110381101A true CN110381101A (zh) 2019-10-25
CN110381101B CN110381101B (zh) 2024-01-12

Family

ID=68243004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810332949.XA Active CN110381101B (zh) 2018-04-13 2018-04-13 Api网关控制系统、控制方法、设备和介质

Country Status (1)

Country Link
CN (1) CN110381101B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110944044A (zh) * 2019-11-20 2020-03-31 广州市品高软件股份有限公司 一种分布式api网关系统及其实现方法
CN110958180A (zh) * 2019-11-14 2020-04-03 微民保险代理有限公司 网关路由方法、智能网关、电子设备及计算机存储介质
CN111787103A (zh) * 2020-07-01 2020-10-16 浪潮云信息技术股份公司 一种基于Kong网关的路径变更匹配方法
CN111988384A (zh) * 2020-08-10 2020-11-24 北京百度网讯科技有限公司 一种信息传输方法、装置、电子设备及存储介质
CN112738175A (zh) * 2020-12-23 2021-04-30 深圳壹账通智能科技有限公司 请求处理方法及相关设备
CN113392032A (zh) * 2021-08-17 2021-09-14 北京安普诺信息技术有限公司 一种api发现的方法、确定测试覆盖率的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881935A (zh) * 2006-04-30 2006-12-20 国家数字交换系统工程技术研究中心 移动互联网协议路由处理方法和系统及路由器
CN104063239A (zh) * 2013-03-22 2014-09-24 腾讯科技(深圳)有限公司 移动终端的应用程序更新方法及服务器、客户端
CN106021068A (zh) * 2016-05-27 2016-10-12 北京京东尚科信息技术有限公司 服务接口的监控方法和监控系统
CN106411905A (zh) * 2016-10-10 2017-02-15 青海帝特斯软件开发有限公司 一种以软路由实现分布式架构的方法
WO2017197307A1 (en) * 2016-05-13 2017-11-16 Level 3 Communications, Llc User-based differentiated routing system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1881935A (zh) * 2006-04-30 2006-12-20 国家数字交换系统工程技术研究中心 移动互联网协议路由处理方法和系统及路由器
CN104063239A (zh) * 2013-03-22 2014-09-24 腾讯科技(深圳)有限公司 移动终端的应用程序更新方法及服务器、客户端
WO2017197307A1 (en) * 2016-05-13 2017-11-16 Level 3 Communications, Llc User-based differentiated routing system and method
CN106021068A (zh) * 2016-05-27 2016-10-12 北京京东尚科信息技术有限公司 服务接口的监控方法和监控系统
CN106411905A (zh) * 2016-10-10 2017-02-15 青海帝特斯软件开发有限公司 一种以软路由实现分布式架构的方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958180A (zh) * 2019-11-14 2020-04-03 微民保险代理有限公司 网关路由方法、智能网关、电子设备及计算机存储介质
CN110958180B (zh) * 2019-11-14 2024-05-21 微民保险代理有限公司 网关路由方法、智能网关、电子设备及计算机存储介质
CN110944044A (zh) * 2019-11-20 2020-03-31 广州市品高软件股份有限公司 一种分布式api网关系统及其实现方法
CN110944044B (zh) * 2019-11-20 2020-11-13 广州市品高软件股份有限公司 一种分布式api网关系统及其实现方法
CN111787103A (zh) * 2020-07-01 2020-10-16 浪潮云信息技术股份公司 一种基于Kong网关的路径变更匹配方法
CN111988384A (zh) * 2020-08-10 2020-11-24 北京百度网讯科技有限公司 一种信息传输方法、装置、电子设备及存储介质
CN112738175A (zh) * 2020-12-23 2021-04-30 深圳壹账通智能科技有限公司 请求处理方法及相关设备
CN112738175B (zh) * 2020-12-23 2022-08-23 深圳壹账通智能科技有限公司 请求处理方法及相关设备
CN113392032A (zh) * 2021-08-17 2021-09-14 北京安普诺信息技术有限公司 一种api发现的方法、确定测试覆盖率的方法及装置
CN113392032B (zh) * 2021-08-17 2021-11-19 北京安普诺信息技术有限公司 一种api发现的方法、确定测试覆盖率的方法及装置

Also Published As

Publication number Publication date
CN110381101B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
CN110381101A (zh) Api网关控制系统、控制方法、设备和介质
CN104683386B (zh) 可定制响应的桩服务实现方法及装置
CN109492053B (zh) 用于访问数据的方法和装置
CN105303112B (zh) 组件调用漏洞的检测方法及装置
CN105512044B (zh) 用于关键字驱动测试的对象库的更新方法及系统
CN101930400A (zh) Sdk自动化测试系统及方法
JPH09231156A (ja) プログラム受信機能付遠隔実行装置
CN110933095A (zh) 一种报文解析方法及装置
CN103313289A (zh) Wap系统自动化测试系统和方法
US11294740B2 (en) Event to serverless function workflow instance mapping mechanism
US11934287B2 (en) Method, electronic device and computer program product for processing data
CN109739665A (zh) 接口管理方法、装置、服务器及存储介质
CN110457132B (zh) 一种功能对象的创建方法、装置和终端设备
CN101483562A (zh) 一种例行测试的方法、系统及相关设备
CN115357663A (zh) 基于增量数据同步组件的数据同步方法、系统及装置
US8224933B2 (en) Method and apparatus for case-based service composition
CN108595656B (zh) 一种数据的处理方法及系统
CN111930625B (zh) 基于云服务平台的日志获取方法、装置及系统
CN113191889A (zh) 风控配置方法、配置系统、电子设备及可读存储介质
CN111131359B (zh) 用于生成信息的方法和装置
US11915107B2 (en) Software build management using machine learning model
CN102006512B (zh) 应用sax解析引擎的数字电视hsml解析方法及系统
CN115185841A (zh) 系统重构测试方法、装置、设备及存储介质
CN116521251A (zh) 服务管理方法、装置、计算机设备及存储介质
CN113064987A (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