CN114500517A - 一种基于api网关实现控制文件上传的方法 - Google Patents
一种基于api网关实现控制文件上传的方法 Download PDFInfo
- Publication number
- CN114500517A CN114500517A CN202210248722.3A CN202210248722A CN114500517A CN 114500517 A CN114500517 A CN 114500517A CN 202210248722 A CN202210248722 A CN 202210248722A CN 114500517 A CN114500517 A CN 114500517A
- Authority
- CN
- China
- Prior art keywords
- file
- request
- plug
- api gateway
- service
- 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
Images
Classifications
-
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于API网关实现控制文件上传的方法,属于API网关领域。本发明以插件的形式应用于API网关,客户端将请求报文发送给API网关,API网关接收报文,获取请求体中上传文件信息,根据用户自定义的传输规则,判断该请求中的各项参数是否匹配,如果都符合要求,网关再将报文转发到具体的服务,从而实现控制文件传输的功能。本发明实现在请求到达目标服务前,对请求报文中请求体中上传文件的检测,本发明以插件的方式提供检测功能,配置简单灵活,易于扩展。
Description
技术领域
本发明属于API网关领域,具体涉及一种基于API网关实现控制文件上传的方法。
背景技术
伴随我国社会经济、科学技术的快速发展,移动互联网、大数据、云计算、物联网等技术越来越多的应用于生活的各个领域。企业、政府机关等组织的业务系统逐步实现模块化、智能化,应用系统从单一的传统SOA架构逐渐演变成按照业务功能模块划分的微服务架构。API网关可以将各个业务系统内部的服务进行封装,不同服务间或不同系统间通过API网关交互达到松耦合的效果。
API网关可以帮助用户自己内部多个系统之间、内部系统与第三方系统之间、内部系统与合作伙伴之间实现跨协议、跨系统的服务能力互通。企业通过API网关将自身能力、服务、数据开放给合作伙伴使用,合作伙伴将标准化的API服务整合进自己的应用,从而衍生出新的服务模式,借力发展。
API网关就是将所有的微服务提供的API接口服务能力全部汇聚起来,统一接入进行API服务的全生命周期管理(创建、发布、运行、下线、维护),也正是通过统一请求拦截,API网关可以抽象出各业务系统需要的通用功能,如请求参数转换,限流,鉴权,黑白名单等,将这些通用功能从业务系统中解耦,实现一个统一的网关出入口进行API管理。各种功能通过插件的方式供服务使用。
在具体的实现API网关各种功能过程时,发明人发现现有的技术还存在以下问题:无法实现对传输上传(大小,数量,类型)的控制。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于API网关实现控制文件上传的方法,以解决API网关无法实现对传输上传控制的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于API网关实现控制文件上传的方法,该方法包括如下步骤:
S1、后端服务注册到API网关时,选择是否启用控制文件上传插件,如果启用该插件,则需要在插件中设置插件要求;
S2、客户端将请求报文发送给API网关,网关对该请求进行解析,首先查看该请求调用的是哪一个服务,其次根据调用的服务是否开启了控制文件上传插件,如果该服务未开启控制文件上传插件,则网关直接将请求转发到后端服务,如果该服务已经开启了控制文件上传插件,则进入到插件对该请求的检测阶段S3;
S3、控制文件上传插件解析请求,获取请求体中上传文件的信息,分析判断该请求中的各项参数是否与插件要求相匹配,如果不匹配,则控制文件上传插件直接将错误信息返回给客户端,如果都符合要求,API网关再将请求转发到具体的服务,从而实现控制文件传输的功能。
进一步地,所述插件要求包括后端服务接收上传文件的大小阈值、数量阈值和类型。
进一步地,所述插件要求包括使能标记、文件数量、文件大小和文件类型。
进一步地,文件类型包括:.doc、.jpg和.png。
进一步地,所述步骤S3中的不匹配包括:文件大小、数量超过设定的阈值,或者文件类型不在允许范围内。
进一步地,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
进一步地,所述步骤S3中,如果有一个或多个检测的参数与插件中配置的对应参数不匹配,网关直接返回错误信息给客户端。
进一步地,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
进一步地,上传文件的大小、数量和类型都符合要求包括:上传文件的大小小于大小阈值、数量小于数量阈值、类型在允许的类型范围内。
进一步地,所述S2中的请求为HTTP或HTTPS请求。
(三)有益效果
本发明提出一种基于API网关实现控制文件上传的方法,本发明与现有技术相比,本发明提供的基于API网关实现控制文件上传的方法,达到如下有益效果:第一,实现在请求到达目标服务前,对请求报文中请求体中上传文件的检测;第二,以插件的方式提供检测功能,配置简单灵活,易于扩展。
附图说明
图1为本发明基于API网关实现控制文件上传方法流程图;
图2为本发明基于API网关实现控制文件上传方法实施例流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提出了一种基于API网关实现控制文件上传的方法,填补了现有技术该领域中的空白。该功能以插件的形式应用于API网关,客户端将请求报文发送给API网关,API网关接收报文,获取请求体中上传文件信息,根据用户自定义的传输规则,判断该请求中的各项参数是否匹配,如果都符合要求,网关再将报文转发到具体的服务,从而实现控制文件传输的功能。
本发明的技术方案是:
本发明提供了一种基于API网关实现控制文件上传的方法,以插件的形式应用于API网关;
S1、后端服务注册到API网关时,可以自由选择是否启用控制文件上传插件,如果启用该插件,则需要在插件中设置插件要求,插件要求为后端服务接收上传文件的大小阈值、数量阈值和类型;
S2、客户端将请求报文发送给API网关,网关对该请求进行解析,首先查看该请求调用的是哪一个服务,其次根据调用的服务是否开启了控制文件上传插件,如果该服务未开启控制文件上传插件,则网关直接将请求转发到后端服务,如果该服务已经开启了控制文件上传插件,则进入到插件对该请求的检测阶段S3。
S3、控制文件上传插件解析请求,获取请求体中上传文件的信息,根据用户自定义设置的传输规则,分析判断该请求中的各项参数是否与插件要求相匹配,如果不匹配,如文件大小、数量超过设定的阈值,或者文件类型不在允许范围内,控制文件上传插件直接将错误信息返回给客户端,如果都符合要求,网关再将请求转发到具体的服务,从而实现控制文件传输的功能。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图2以及具体示例,对本发明中的技术方案进行清楚、完整地描述。
第一步:服务注册到API网关,确定是否启用控制文件上传插件,如果启用该插件,在该插件中配置服务接收文件的大小,数量,类型。例如:某个服务配置的插件内容如下:
第二步:客户端向网关发送请求,网关对该请求进行解析,包括需要调用哪一个服务,需要调用的服务是否开启了控制文件上传插件。如果服务没有启用该插件,则该请求跳过控制文件上传插件的检测,转发给后端的服务;如果服务启用控制文件上传插件,则该插件发挥作用,对请求中的文件进行检测;
第三步:插件解析请求报文,提取需要检测的参数,包括上传文件的大小,数量,类型;例如:解析请求体中上传文件信息内容如下:
第四步:控制文件上传插件检测请求体中信息是否符合要求,如果有一个或多个检测的参数与插件中配置的对应参数不匹配,网关直接返回错误信息给客户端;如果每一个检测参数均符合插件的配置信息,网关将该请求转发给目标服务;例如,上边示例中的请求中,上传文件的大小,数量,类型都符合要求,通过插件检测,则将该请求转发给后端服务。
本发明的有益效果是与现有技术相比,本发明提供的基于API网关实现控制文件上传的方法,达到如下有益效果:第一,实现在请求到达目标服务前,对请求报文中请求体中上传文件的检测;第二,以插件的方式提供检测功能,配置简单灵活,易于扩展。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于API网关实现控制文件上传的方法,其特征在于,该方法包括如下步骤:
S1、后端服务注册到API网关时,选择是否启用控制文件上传插件,如果启用该插件,则需要在插件中设置插件要求;
S2、客户端将请求报文发送给API网关,网关对该请求进行解析,首先查看该请求调用的是哪一个服务,其次根据调用的服务是否开启了控制文件上传插件,如果该服务未开启控制文件上传插件,则网关直接将请求转发到后端服务,如果该服务已经开启了控制文件上传插件,则进入到插件对该请求的检测阶段S3;
S3、控制文件上传插件解析请求,获取请求体中上传文件的信息,分析判断该请求中的各项参数是否与插件要求相匹配,如果不匹配,则控制文件上传插件直接将错误信息返回给客户端,如果都符合要求,API网关再将请求转发到具体的服务,从而实现控制文件传输的功能。
2.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述插件要求包括后端服务接收上传文件的大小阈值、数量阈值和类型。
3.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述插件要求包括使能标记、文件数量、文件大小和文件类型。
4.如权利要求2或3所述的基于API网关实现控制文件上传的方法,其特征在于,文件类型包括:.doc、.jpg和.png。
5.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中的不匹配包括:文件大小、数量超过设定的阈值,或者文件类型不在允许范围内。
6.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
7.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中,如果有一个或多个检测的参数与插件中配置的对应参数不匹配,网关直接返回错误信息给客户端。
8.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述步骤S3中,上传文件的大小、数量和类型都符合要求,通过插件检测,则将该请求转发给后端服务。
9.如权利要求8所述的基于API网关实现控制文件上传的方法,其特征在于,上传文件的大小、数量和类型都符合要求包括:上传文件的大小小于大小阈值、数量小于数量阈值、类型在允许的类型范围内。
10.如权利要求1所述的基于API网关实现控制文件上传的方法,其特征在于,所述S2中的请求为HTTP或HTTPS请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248722.3A CN114500517B (zh) | 2022-03-14 | 2022-03-14 | 一种基于api网关实现控制文件上传的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248722.3A CN114500517B (zh) | 2022-03-14 | 2022-03-14 | 一种基于api网关实现控制文件上传的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114500517A true CN114500517A (zh) | 2022-05-13 |
CN114500517B CN114500517B (zh) | 2023-01-13 |
Family
ID=81486650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210248722.3A Active CN114500517B (zh) | 2022-03-14 | 2022-03-14 | 一种基于api网关实现控制文件上传的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500517B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002019653A2 (en) * | 2000-09-01 | 2002-03-07 | Ikimbo, Inc. | System and method for transferring files |
CN105827512A (zh) * | 2016-04-29 | 2016-08-03 | 电子科技大学 | 一种通过碎片化多云存储的电子邮件通信方法 |
US10476936B1 (en) * | 2018-12-13 | 2019-11-12 | Software Ag | Plugin-based file transfer systems and/or methods |
CN110753127A (zh) * | 2019-10-29 | 2020-02-04 | 浪潮云信息技术有限公司 | 基于Kong的API网关实现请求参数转换的方法 |
CN111385146A (zh) * | 2020-03-05 | 2020-07-07 | 山东汇贸电子口岸有限公司 | 一种基于Kong的API网关路由实体配置方法及系统 |
CN113570255A (zh) * | 2021-07-30 | 2021-10-29 | 上海通联金融服务有限公司 | 批处理文件的质量检测方法 |
-
2022
- 2022-03-14 CN CN202210248722.3A patent/CN114500517B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002019653A2 (en) * | 2000-09-01 | 2002-03-07 | Ikimbo, Inc. | System and method for transferring files |
CN105827512A (zh) * | 2016-04-29 | 2016-08-03 | 电子科技大学 | 一种通过碎片化多云存储的电子邮件通信方法 |
US10476936B1 (en) * | 2018-12-13 | 2019-11-12 | Software Ag | Plugin-based file transfer systems and/or methods |
CN110753127A (zh) * | 2019-10-29 | 2020-02-04 | 浪潮云信息技术有限公司 | 基于Kong的API网关实现请求参数转换的方法 |
CN111385146A (zh) * | 2020-03-05 | 2020-07-07 | 山东汇贸电子口岸有限公司 | 一种基于Kong的API网关路由实体配置方法及系统 |
CN113570255A (zh) * | 2021-07-30 | 2021-10-29 | 上海通联金融服务有限公司 | 批处理文件的质量检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114500517B (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11985168B2 (en) | Synthetic request injection for secure access service edge (SASE) cloud architecture | |
US11831683B2 (en) | Cloud object security posture management | |
US12082311B2 (en) | Facilitating integrated management of connected assets that utilize different technologies and that are located across disparate wireless communications networks | |
US11888902B2 (en) | Object metadata-based cloud policy enforcement using synthetic request injection | |
US7860887B2 (en) | Cross-media storage coordination | |
US11647052B2 (en) | Synthetic request injection to retrieve expired metadata for cloud policy enforcement | |
US20220004694A1 (en) | Methods, Systems, and Apparatus for Email to Persistent Messaging | |
Chen et al. | Intelligent file transfer for smart handheld devices based on mobile cloud computing | |
CN103347084A (zh) | 一种多账号统一关联系统及关联方法 | |
CN108880992B (zh) | 数据传输方法、计算机设备及存储介质 | |
WO2019001562A1 (zh) | 模型加载方法、装置、存储介质和计算机设备 | |
CN112565220A (zh) | 一种基于国网隔离装置安全的http服务网关实现方法 | |
CN114500517B (zh) | 一种基于api网关实现控制文件上传的方法 | |
US20060039368A1 (en) | Data processing information feeder framework | |
US8964955B2 (en) | Presence-based message waiting indicator and missed calls | |
CN101155177B (zh) | 基于共用协议的数据通道共享系统及方法 | |
CN105282255A (zh) | 图片传输方法和系统 | |
CN101425067A (zh) | 信息检索方法和系统 | |
CN113761433B (zh) | 业务处理方法和装置 | |
Elhadi et al. | Functional modeling of IoT protocols | |
Sun et al. | [Retracted] Edge Node Aware Adaptive Data Processing Method for Ubiquitous NB‐IoT | |
CN112118136A (zh) | 多云配置转换方法、装置、计算机设备和存储介质 | |
CN101286992B (zh) | 一种内容传输系统及其处理方法 | |
CN117354304B (zh) | 一种数据传输通道安全能力建设方法 | |
CN113067765B (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 |