CN118118528A - 接口参数处理方法、装置、存储介质以及电子设备 - Google Patents

接口参数处理方法、装置、存储介质以及电子设备 Download PDF

Info

Publication number
CN118118528A
CN118118528A CN202211523212.9A CN202211523212A CN118118528A CN 118118528 A CN118118528 A CN 118118528A CN 202211523212 A CN202211523212 A CN 202211523212A CN 118118528 A CN118118528 A CN 118118528A
Authority
CN
China
Prior art keywords
interface
parameter
information
parameters
analysis
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
Application number
CN202211523212.9A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211523212.9A priority Critical patent/CN118118528A/zh
Publication of CN118118528A publication Critical patent/CN118118528A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例公开接口参数处理方法、装置、存储介质以及电子设备。对参数处理协议进行检索,基于接口信息和场景信息分别确定对应的接口和参数解析方式,每一接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景,使得当客户端与服务器进行交互时,同一接口可以兼容不同的应用场景,并且根据不同的应用场景提供不同的参数解析方式,提高接口的通用性,基于参数解析方式对接口请求参数进行解析,得到解析参数,可以将不同场景下不同的参数进行处理,使得发往服务器或者发往前端的参数为预设的必要参数,保障信息安全。

Description

接口参数处理方法、装置、存储介质以及电子设备
技术领域
本申请实施例涉及通信领域,尤其涉及接口参数处理方法、装置、存储介质以及电子设备。
背景技术
在计算机通信领域中,客户端与服务器之间的交互需要通过调用接口来完成,客户端对服务器中的接口发起调用请求,从而使得客户端能够利用数据库来查询信息,并获得返回参数,服务器再将返回参数通过接口返回给客户端。但是随着客户端与服务器支持的功能越来越多,导致接口的负担越来越重,此外,对于客户端传输的参数并不能在服务器端被完全信任,这将导致信息安全隐患。
发明内容
为了解决上述接口负担重的技术问题,本申请实施例提供了以下接口参数处理方法、装置、存储介质以及电子设备。
一方面,本申请实施例提供了一种接口参数处理方法,所述方法包括:
获取接口请求信息,所述接口请求信息包括目标接口信息、接口请求参数和场景信息;
基于所述目标接口信息对参数处理协议进行检索,确定所述目标接口信息对应目标接口,所述参数处理协议包括至少一个接口,每一所述接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景;
基于所述场景信息,在所述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;
基于所述目标参数解析方式对所述接口请求参数进行解析处理,得到解析参数。
另一方面,本申请实施例提供一种接口参数处理装置,所述装置包括:
参数获取模块,用于获取接口请求信息,所述接口请求信息包括目标接口信息、接口请求参数和场景信息;
接口确定模块,用于基于所述目标接口信息对参数处理协议进行检索,确定所述目标接口信息对应目标接口,所述参数处理协议包括至少一个接口,每一所述接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景;
解析方式确定模块,用于基于所述场景信息,在所述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;
参数解析模块,用于基于所述目标参数解析方式对所述接口请求参数进行解析处理,得到解析参数。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现上述的一种接口参数处理方法。
另一方面,本申请实施例提供了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现上述的一种接口参数处理方法。
另一方面,本申请实施例提供了一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述的一种接口参数处理方法。
本申请实施例提供接口参数处理方法,该接口参数处理方法对参数处理协议进行检索,基于接口信息和场景信息分别确定对应的接口和参数解析方式,每一接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景,使得当客户端与服务器进行交互时,同一接口可以兼容不同的应用场景,并且根据不同的应用场景提供不同的参数解析方式,提高接口的通用性。基于参数解析方式对接口请求参数进行解析,得到解析参数,可以将不同场景下不同的参数进行处理,并且可以依据参数处理协议对接收端不信任的参数进行拦截,将其余参数发送至接收端并标记为信任参数,保障信息安全。
附图说明
图1是本申请实施例提供的接口参数处理方法的一种可行的实施框架示意图;
图2是本申请实施例提供的接口参数处理方法的流程示意图;
图3是本申请实施例提供的接口参数处理方法应用场景示意图;
图4是本申请实施例提供的接口参数处理方法实施流程示意图一;
图5是本申请实施例提供的接口参数处理方法实施流程示意图二;
图6是本申请实施例提供的参数处理协议配置方法流程示意图;
图7是本申请实施例提供的参数处理协议配置示意图;
图8是本申请实施例提供的映射方法流程示意图;
图9是本申请实施例提供的参数指示信息配置示意图;
图10是本申请实施例提供的接口参数处理装置的框图;
图11是本申请实施例提供的一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
需要说明的是,本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本申请实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请实施例,并不用于限定本申请实施例。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。为了便于理解本申请实施例上述的技术方案及其产生的技术效果,本申请实施例首先对于相关专业名词进行解释:
云技术(Cloud technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个资源都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
在实际中,前端需要调用后端的程序才能完成不同应用场景下的功能,而前端与后端进行交互往往需要通过接口来实现,本申请实施例对前端不做具体限定,比如,网络的前台部分,其可以运行在电脑端、移动设备端等。本申请对后端也不做具体限定,其可以是向用户提供数据的服务器、超级服务器、群集系统、中程系统及大型机等。其中前端在实际情况中,为了实现不同的应用场景,前端需要发送前端参数通过接口调用后端的数据,并且后端需要将参数返回值通过接口返回至前端以实现不同的应用场景。
在一些情况下,前端的应用场景是多种多样的,为了实现不同的应用场景,往往需要更多的接口,或者需要前端理解不同的字段的值和字段处理方式,但是大量的接口使后端的开发变得复杂,并且需要更多的成本,而需要前端理解不同的字段的值和字段处理方式,也会耗费很多的开发维护成本,因此,提升接口的通用性,是非常必要的。前端向后端传输的参数,或者后端前前端传输的参数,可能存在非必要的参数,更甚是不安全的,而这种情况在目前的技术中并不能得已解决,因此亟需一种接口参数处理方法。
目前的接口参数处理方法主要是对于不同的应用场景提供不同的接口,例如,每一个应用场景都有其对应的一个接口,当前端发出该应用场景的请求时,调用对应的接口,但这将造成大量的和场景绑定的代码逻辑,耗费更多的开发维护成本。另外,还有一些接口参数处理方法在通用层提供一个接口可以兼容多个应用场景,但是前端需要对齐后端的协议传值,需要理解不同的字段的值和字段处理方式,这种情况下会增加前端开发学习的成本,并且对于前端传输的参数并不能完全被后端信任,这会导致安全性的问题。
目前,接口参数处理的方法论和技术仍未被充分研究和应用,仍有很大的发展空间,在落地过程中仍有不少问题需要解决。相关技术中的接口参数处理方法的局限性主要表现在两方面:
一方面基于前端对不同的字段值和字段处理方式的理解的参数处理方法前端开发复杂,灵活性低。由于场景的使用种类增多,会使得前端的运行效率低下,向后端传输的参数也存在不准确和不安全的问题,因此通过开发前端并不能从根源上解决问题。
另一方面在于针对不同应用场景设置对应于每一场景的接口的方案,但是如果接口需要修改协议参数,就需要增加接口来实现,会造成大量的和场景绑定的代码逻辑,因此,难以得出能够提高接口通用性的方案。
有鉴于此,本申请实施例提出了一种接口参数处理方法,该接口参数处理方法对参数处理协议进行检索,基于接口信息和场景信息分别确定对应的接口和参数解析方式,每一接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景,使得当客户端与服务器进行交互时,同一接口可以兼容不同的应用场景,并且根据不同的应用场景提供不同的参数解析方式,提高接口的通用性。基于参数解析方式对接口请求参数进行解析,得到解析参数,可以将不同场景下不同的参数进行处理,并且可以依据参数处理协议对接收端不信任的参数进行拦截,将其余参数发送至接收端并标记为信任参数,保障信息安全。
请参阅图1,图1是本说明书实施例提供的接口参数处理方法的一种可行的实施框架示意图,如图1所示,该实施框架可以至少包括客户端10、服务器20,客户端10和服务器20通过网络30通信,该实施框架也可以被认为是接口参数处理系统。服务器20可以位于云环境,该服务器20为该云环境中的接口参数处理节点,该节点为云环境中的任意节点。
客户端10可以向服务器20输出接口请求信息,上述接口请求信息包括目标接口信息、接口请求参数和场景信息,该服务器20可以对参数处理协议进行检索,确定上述目标接口信息对应目标接口,上述参数处理协议包括至少一个接口,每一上述接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景;基于上述场景信息,在上述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;基于上述目标参数解析方式对上述接口请求参数进行解析处理,得到解析参数。该服务器20可以基于解析参数进行处理,并向客户端10返回处理后的参数值。
本申请实施例的上述框架可以提供各种场景下的应用所需的接口参数处理能力,该应用包括但不限于云技术、云游戏、云渲染、人工智能、智慧交通、辅助驾驶、视频媒体、智能社区、即时通信等。该框架中各组件可以是终端设备或服务器。终端设备包括但不限于手机、电脑、智能语音交换设备、智能家电、车载终端等。
以下介绍本申请实施例的一种接口参数处理方法,图2示出了本申请实施例提供的一种接口参数处理方法的流程示意图,该接口参数处理方法可以基于前文的服务器20执行。本申请实施例提供了如实施例或流程图上述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统、终端设备或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境),上述方法可以包括:
步骤S201:获取接口请求信息,上述接口请求信息包括目标接口信息、接口请求参数和场景信息;
本申请实施例中的接口请求信息可以包括客户端向服务器发送的接口请求信息,其中接口请求信息中包括其所请求的接口的名称,即目标接口信息,接口请求信息中还包括场景信息,例如,在活动网页中,当触发发红包的功能时,可能存在的场景有发等额红包、发语音红包以及发非等额红包等,那么这些都可以作为不同的应用场景,客户端所发送的场景信息中包含表征发送哪种红包的信息,并发送出相应的接口请求参数,可以理解的是,本申请对接口请求参数的具体形式不做限定,可以是请求参数,也可以是请求参数体。
步骤S202:基于所述目标接口信息对参数处理协议进行检索,确定上述目标接口信息所对应的目标接口,上述参数处理协议包括至少一个接口,每一接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景;
本申请实施例中,参数处理协议为事先配置的用于规范客户端与服务器之间传输参数的协议,其中参数处理协议中至少包括一个接口,而每个接口下都存在不同的应用场景,例如,在活动网页中,实现发红包的功能可以通过一个接口来完成,发红包中存在不同的应用场景,例如,发等额红包、发语音红包以及发非等额红包等,这些不同的场景均可以通过同一个接口来完成调用服务器的程序,但是对于不同的应用场景,参数处理协议会提供不同的参数解析方式,也就是说,虽然发等额红包和发语音红包可以使用同一接口,但是发等额红包和发语音红包属于不同的应用场景,而不同的应用场景对应于不同的参数解析方式,例如,在发送等额红包的场景下,需要向服务器传输参数A,若参数处理协议规定参数A的需要标记其来源,那么发送等额红包的场景对应的参数解析方式为标记参数A的来源;在发送语音红包的场景下,需要向服务器传输参数B,若参数处理协议规定对参数B进行隐藏,那么发送语音红包的场景对应的参数解析方式为隐藏参数B。
步骤S203:基于上述场景信息,在上述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;
本申请的实施例中,由于不同的场景对应的参数解析方式是不同的,那么在进行参数解析之前,先要根据场景信息,确定参数解析方式。可以理解的是,若要应用本申请中的参数处理协议,其应用场景应当记载在参数协议中,才能得到对应的参数解析方式。
步骤S204:基于上述目标参数解析方式对上述接口请求参数进行解析处理,得到解析参数。
本申请的实施例中,应用参数解析方式对参数进行处理,是为了防止客户端或者服务器传输参数时,携带不安全信息,从而造成信息安全威胁,例如,客户端在向服务器发送参数时,往往也会发送客户端的地址,但这对于服务器处理请求来说是不必要的,甚至可能存在潜在的信息安全问题,那么可以通过参数解析来滤除不必要的参数,再将必要的参数发送至服务器。并且由于客户端和服务器在开发时应用的程序语言可能是不同的,那么二者对于参数的定义也可能是不同的,参数解析可以将客户端的参数转换为服务器端能读懂的参数,同时,也可以将服务器端的参数转换为客户端能读懂的参数,以方便两个端进行交流。
本申请的实施例中,基于目标接口信息对参数处理协议进行检索,确定客户端所请求的目标接口,并且基于场景信息对参数处理协议进行检索确定目标参数解析方式,以对接口请求参数按照对应的目标参数解析方式的进行处理,同时,由于参数处理协议的规定,同一接口可对应多应用场景,有效提高了接口的通用性,并且可以依据参数处理协议对接收端不信任的参数进行拦截,将其余参数发送至接收端并标记为信任参数,保障信息安全。
在一个实施例中,请参考图3和图4,图3示出本申请实施例提供的接口参数处理方法应用场景示意图,图4示出本申请实施例提供的接口参数处理方法实施流程示意图一,上述获取接口请求信息包括:获取来自客户端的接口请求信息,上述接口请求信息还包括服务器地址信息,上述解析参数包括客户端解析参数,上述方法还包括:将上述客户端解析参数发送至上述服务器地址信息所指示的地址。
在本申请的实施例中,参数处理协议可以解决客户端与服务器进行交互时,对于接口调用的相关操作问题,那么其可以包括对客户端向服务器端传输的参数的处理,以减少服务器端接收到不必要的信息造成安全问题,同时也包括服务器端向客户端传输参数时对参数的处理,以避免向前端返回不必要的参数值。
在一个具体的实施方式中,基于图3所示的接口参数处理方法应用场景示意图,由客户端向服务器端传输参数时的具体步骤可以如下:
步骤S401:获取来自客户端的接口请求信息,上述接口请求信息还包括服务器地址信息;
本申请的实施例中,客户端的接口请求信息还可以包括具体的场景信息和目标接口信息。
步骤S402:基于目标参数解析方式对上述接口请求参数进行解析处理,得到客户端解析参数;
在此之前,可以基于客户端接口请求信息中的目标接口信息,对参数处理协议进行检索,确定对应的目标接口,并且基于场景信息对参数处理协议进行检索确定对应的参数解析方式。
步骤S403:将上述客户端解析参数发送至上述服务器地址信息所指示的地址。
在一个具体的实施例中,请参阅图3,其示出本申请实施例提供的接口参数处理方法应用场景示意图,图3所示的应用场景中包括客户端、中控层、接口集和通用模型层,其中接口集中包含接口,通用模型层中包含数据库,接口集和通用模型层属于服务器管理的范畴,在客户端向服务器发起请求的情况下,客户端将接口请求信息发送至中控层,中控层设置有参数处理协议,可以对接口请求参数进行解析,中控层还可以为接口请求信息中的目标接口信息配置命令字,命令字用于向接口集发起调用接口的命令,调用请求成功后,将解析后的客户端解析参数发送至通用模型层进行处理。
在一个实施例中,请参阅图3和图5,图3示出本申请实施例提供的接口参数处理方法应用场景示意图,图5示出本申请实施例提供的接口参数处理方法实施流程示意图二,上述获取接口请求信息还包括:获取来自服务器的接口请求信息,上述接口请求信息还包括客户端地址信息,上述解析参数还包括服务器解析参数,上述方法还包括:将上述服务器解析参数发送至上述客户端地址信息所指示的地址。
本申请的实施例中,参数处理协议不仅可以对客户端传输至服务器端的参数进行规定,也可以对服务器端传输至客户端的参数也进行规定,从而保障信息传输的安全性。同时,对于提供的通用的接口,明确其对不同参数的解析方式,使得通用接口在不同场景下能够有条不紊的处理参数,避免客户端和服务器端任意一方理解多余信息,减轻客户端和服务器端的开发负担。
在一个具体的实施方式中,基于图3所示的接口参数处理方法应用场景示意图,由服务器端向客户端返回参数时的具体步骤可以如图5所示,图5示出本申请实施例提供的接口参数处理方法实施流程示意图二,具体步骤如下:
步骤S501:获取来自服务器的接口请求信息,上述接口请求信息还包括客户端地址信息;
本申请的实施例中,来自服务器的接口请求信息可以包括,服务器处理客户端请求后的返回参数。
步骤S502:基于目标参数解析方式对上述接口请求参数进行解析处理,得到服务器解析参数;
本申请的实施例中,来自服务器的接口请求信息中同样可能存在不被客户端信任的参数,比如在返回参数中,可能包含服务器的地址,但是对于客户端来说,这可能是不被信任的参数,那么根据对应的参数解析方式,可以将该参数滤除,将其余参数返回至客户端,并将其余参数设置为信任参数。
步骤S503:将上述服务器解析参数发送至上述客户端地址信息所指示的地址。
在一个具体的实施例中,请参阅图3,图3示出本申请实施例提供的接口参数处理方法应用场景示意图,图3所示的应用场景中包括客户端、中控层、接口集和通用模型层,其中接口集中包含接口,通用模型层中包含数据库,接口集和通用模型层属于服务器管理的范畴,在服务器向客户端返回参数的场景下,返回参数可以包括基于客户端的接口请求信息处理后的返回参数,将返回参数通过接口集发送至中控层,中控层中设置有参数处理协议,确定返回参数对应的参数解析方式,解析后得到服务器解析参数,中控层将服务器解析参数发送至客户端,完成交互,实现客户端请求的功能。本申请中对于返回参数的参数解析方式的确定,可以依赖于客户端传输的场景信息,也可以依赖于返回参数本身。
在一个实施例中,请参阅图6和图7,图6示出本申请实施例提供的参数处理协议配置方法流程示意图,图7示出本申请实施例提供的参数处理协议配置示意图,上述方法还包括:
步骤S601:读取第一接口信息,上述第一接口信息包括上述至少一个接口对应的机器描述信息;
在一个具体的实施方式中,第一接口信息是基于RPC框架服务的接口的描述文件,但由于该描述文件是机器化的语言,需要对该描述文件进行解析,才能进行后续的操作。
步骤S602:对上述第一接口信息进行解析,得到第二接口信息,上述第二接口信息包括上述至少一个接口对应的文本描述信息;
在一个具体的实施方式中,对第一接口信息进行解析,具体的解析可以通过特殊字符串识别的方式,使用OpenAPI兼容的方式进行解析,从而得到第二接口信息,第二接口信息中包括至少一个接口对应的文本描述信息。可以理解的是,本申请对上述特殊字符串具体形式不做限定,字符串可以是根据需求预先自定义的,也可以通用的模板,本申请对具体解析方式也不做限定,上述OpenAPI兼容解析方式仅是给出一种实施例,也可以采用其他能够得到第二接口信息的解析方式。
在一个实施例中,上述文本描述信息包括接口属性信息、数据结构定义、参数数据类型和参数属性信息;
在本申请的实施例中,文本描述信息中包括接口属性信息和接口的数据结构定义,文本描述信息中包括不同的接口待处理的参数的数据类型,例如sting和int类型,其中string类型为字符串类型,int类型为整数类型,文本描述信息中还包括参数属性信息,例如该参数是否必填,该字段值的示例值,该字段名的描述信息等。文本描述信息中还可以包括接口列表,其表征实际情况中存在的接口有哪些。
步骤S603:读取参数处理模板,上述参数处理模板中包括上述至少一个接口在不同应用场景下分别对应的参数解析方式;
本申请的实施例中,参数处理模板可以是YAML配置文件,该配置文件可以是预先手动配置的文件,配置文件中包括常用的通用接口的在不同应用场景下分别对应的参数解析方式。
在一个实施例中,上述参数解析方式包括参数处理方法和数据库中的参数字段名信息。
在一个具体的实施方式中,由于客户端对参数的定义和服务器端对参数的定义往往是不同的,那么在配置文件中设置服务器中数据库的参数字段名信息,便于后续将客户端和服务器端的参数进行映射操作。此外,对于不同参数的解析方式是不同的,具体的解析方式可以是自定义设置的,本申请对参数的具体解析方式不做限定。下面给出一些参数解析的示例:
可以设置一种特殊的符号“$”(下述为“标记符”)用于标记需要解析的参数。在解析方式配置中,标记符写在字段名前即表示该字段必填,客户端必须传输参数或是指定该值的来源,字段值解析方式可以包括下述几种:
(1)用“$var”来取出引入参数处理协议软件开发工具包(SDK)的服务调用时传入的上下文参数,上下文参数可以包括环境参数;
(2)在请求体中的其他参数,在请求中有一个字段值需要和请求体中的其他字段值保持一致时,可以使用“$req”的标记来说明该字段值从请求体中取值;
(3)直接指定参数字段值,忽略掉客户端传输的接口请求参数,使用“$value”来标记该功能。
(4)字段值需要使用插件进行额外处理,例如对于服务器返回接口请求参数的字段值进行部分隐藏,规则定义中使用“$plugin”来标记此功能,例如在服务器向客户端发送返回参数体时,服务器的地址信息可以使用“$plugin”来标记,以隐藏该参数;
(5)对接口请求参数格式和值进行验证,可以规定参数值的长度和取值范围,规则定义中使用“$validate”来标记该功能。
步骤S604:基于上述第二接口信息和上述参数处理模板,建立各上述接口对应的映射关系,得到上述参数处理协议,上述映射关系表征上述接口对应的文本描述信息与上述接口对应的参数解析方式之间的关联关系。
本申请的实施例中,建立各接口的映射关系,相当于打开了客户端和服务器端的交互通道,两者发送的接口请求参数经过参数处理协议的规范化,实现信息安全化、接口通用化。
本申请的实施例中,在中控层配置参数处理协议,可以实现客户端和服务器传输参数的规范化,保障信息安全,同时后端无需为多个应用场景设置多个接口,使得一个接口至少可以对应于一种应用场景,可以有效提高接口的通用性,节省开发维护的成本。
在一个具体的实施例中,请参阅图7,图7示出本申请实施例提供的参数处理协议配置示意图,对第一接口信息进行解析,输出第二接口信息,其中,解析工具可以是OpenAPI兼容解析工具,参数处理模板可以为手动配置的YAML文件,将第二接口信息和参数处理模板进行映射处理,生成参数处理协议。
在一个实施例中,请参阅图8,图8示出本申请实施例提供的映射方法流程示意图,上述基于上述第二接口信息和上述参数处理模板,建立各上述接口对应的映射关系,得到上述参数处理协议,包括:
步骤S801:基于上述参数属性信息和上述参数字段名信息,得到参数映射信息,上述参数映射信息表征各参数在客户端和服务器之间的对应关系;
在一个具体的实施方式中,由于客户端和服务器端在开发时,使用的程序语言可能是不一样的,这就导致了同一参数在客户端和服务器端的命名不相同,那么直接将参数从客户端发送到服务器端,服务器还需要对参数进行解析,理解该参数对应于服务器中的哪种参数,这给服务器带来负担,因此,在参数处理协议中,根据客户端对参数的属性定义和服务器端参数的字段名,将两者建立映射关系,使得当客户端发送某一参数时,参数处理协议可以直接将该参数转换为服务器端对应的参数,服务器无需再对参数进行解析。
步骤S802:基于上述接口属性信息和上述参数解析方式,建立上述接口与不同应用场景下的上述各参数的解析方式之间的关联关系,得到接口参数信息;
在一个具体的实施方式中,考虑到参数处理模板的通用性,可以在参数处理模板中设置常用的接口对于不同应用场景下的参数解析方式,而根据实际情况中接口的属性信息,确定需要用到的参数处理模板中的接口对应的参数解析方式,建立实际情况中存在的接口与参数处理模板中的参数解析方式之间的关系。
步骤S803:根据上述接口参数信息和上述参数映射信息,得到上述参数处理协议。
在一个具体的实施方式中,将接口参数信息和参数映射信息建立联系,形成接口—应用场景—参数解析方式,三位一体的参数处理协议。
在本申请的实施例中,基于参数属性信息和参数字段名信息的映射,接口属性信息和参数解析方式的映射打通了客户端与服务器交互的通道,将客户端和服务器对参数的定义对应起来,并且基于预设的参数处理模板搭建交互协议,形成通用性高,安全性强的交互方式。
在一个实施例中,请参阅图9,图9示出本申请实施例提供的参数指示信息配置示意图,图9中的参数处理协议文档是基于参数处理协议直接生成的,其中的内容与参数处理协议相同,将参数处理协议以文档的形式存储于中控层,以便于在处理接口请求参数时调用。参数指示文档可以是基于参数处理协议生成的文档,用于指示客户端在不同应用场景下调用某一接口时上传对应的接口请求信息。
本申请的实施例中,可以在参数处理协议的基础上,再生成参数处理协议文档,存放于中控层,用于基于参数处理协议对客户端与服务器交互的参数进行解析,还可以基于参数处理协议生成参数指示信息,表现形式可以是接口文档的表现形式,用于指示客户端在不同场景下需要传输的参数,使得客户端无需理解不同应用场景下不同的字段的值和字段处理方式,节省客户端开发维护的成本,也使得客户端与服务器之间的交互更加便捷。
在一个具体的实施方式中,参数指示信息可以表现为接口文档,接口文档中可以包括以下内容:
(1)请求参数指示项,对应于不同应用场景下,客户端所需传输的参数或参数体;
(2)接口协议,例如http协议、https协议和tcp协议等;
(3)接口请求方式,例如get(查看)、post(创建)、put(更新)和delete(删除)等;
(4)url(Uniform Resource Locator,统一资源定位符);
(5)接口名称,用于识别调用哪个接口。
在另一个具体的实施方式中,在客户端向服务器传输参数的过程中,客户端依据上述请求参数指示项传输接口请求参数和场景信息,依据接口名称传输目标接口信息,依据url传输对应的服务器地址。
请参考图10,其示出本实施例中一种接口参数处理装置的框图,上述装置包括:
参数获取模块1010,用于获取接口请求信息,上述接口请求信息包括目标接口信息、接口请求参数和场景信息;
接口确定模块1020,用于基于所述目标接口信息对参数处理协议进行检索,确定上述目标接口信息对应目标接口,上述参数处理协议包括至少一个接口,每一上述接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景,上述接口请求信息基于参数指示信息生成,上述参数指示信息为基于上述参数处理协议确定的、用于指示客户端在不同应用场景下调用接口时所需上传的接口请求信息的指示信息;
解析方式确定模块1030,用于基于上述场景信息,在上述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;
参数解析模块1040,用于基于上述目标参数解析方式对上述接口请求参数进行解析处理,得到解析参数。
在一个实施例中,上述装置还包括协议配置模块,用于执行下述操作:
读取第一接口信息,上述第一接口信息包括上述至少一个接口对应的机器描述信息;
对上述第一接口信息进行解析,得到第二接口信息,上述第二接口信息包括上述至少一个接口对应的文本描述信息,上述文本描述信息包括接口属性信息、数据结构定义、参数数据类型和参数属性信息;
读取参数处理模板,上述参数处理模板中包括上述至少一个接口在不同应用场景下分别对应的参数解析方式,上述参数解析方式包括参数处理方法和数据库中的参数字段名信息;
基于上述第二接口信息和上述参数处理模板,建立各上述接口对应的映射关系,得到上述参数处理协议,上述映射关系表征上述接口对应的文本描述信息与上述接口对应的参数解析方式之间的关联关系。
在一个实施例中,上述协议配置模块,还用于执行下述操作:
基于上述参数属性信息和上述参数字段名信息,得到参数映射信息,上述参数映射信息表征各参数在客户端和服务器之间的对应关系;
基于上述接口属性信息和上述参数解析方式,建立上述接口与不同应用场景下的上述各参数的解析方式之间的关联关系,得到接口参数信息;
根据上述接口参数信息和上述参数映射信息,得到上述参数处理协议。
在一个实施例中,上述参数获取模块1010,用于执行下述操作:
获取来自客户端的接口请求信息,上述接口请求信息还包括服务器地址信息;
获取来自服务器的接口请求信息,上述接口请求信息还包括客户端地址信息。
在一个实施例中,上述参数解析模块1040,用于执行下述操作:
基于目标参数解析方式对上述接口请求参数进行解析处理,得到客户端解析参数;
基于目标参数解析方式对上述接口请求参数进行解析处理,得到服务器解析参数。
在一个实施例中,上述装置还包括参数发送模块,用于执行下述操作:
将所述客户端解析参数发送至上述服务器地址信息所指示的地址;
将上述服务器解析参数发送至上述客户端地址信息所指示的地址。
本申请实施例中装置部分与方法实施例基于相同发明构思,在此不做赘述。
进一步地,图11示出了一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图,上述设备可以参与构成或包含本申请实施例所提供的装置或系统。如图8所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分地体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中上述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种接口参数处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交换。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请实施例特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请实施例中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,上述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述存储介质中的指令可以执行一种接口参数处理方法,上述方法包括:
获取接口请求信息,上述接口请求信息包括目标接口信息、接口请求参数和场景信息;
基于所述目标接口信息对参数处理协议进行检索,确定上述目标接口信息对应目标接口,上述参数处理协议包括至少一个接口,每一上述接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景;
基于上述场景信息,在上述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;
基于上述目标参数解析方式对上述接口请求参数进行解析处理,得到解析参数。
在一个实施例中,上述获取接口请求信息包括:获取来自客户端的接口请求信息,上述接口请求信息还包括服务器地址信息,上述解析参数包括客户端解析参数,上述方法还包括:将上述客户端解析参数发送至上述服务器地址信息所指示的地址。
在一个实施例中,上述获取接口请求信息还包括:获取来自服务器的接口请求信息,上述接口请求信息还包括客户端地址信息,上述解析参数还包括服务器解析参数,上述方法还包括:将上述服务器解析参数发送至上述客户端地址信息所指示的地址。
在一个实施例中,上述方法还包括:
读取第一接口信息,上述第一接口信息包括上述至少一个接口对应的机器描述信息;
对上述第一接口信息进行解析,得到第二接口信息,上述第二接口信息包括上述至少一个接口对应的文本描述信息;
读取参数处理模板,上述参数处理模板中包括上述至少一个接口在不同应用场景下分别对应的参数解析方式;
基于上述第二接口信息和上述参数处理模板,建立各上述接口对应的映射关系,得到上述参数处理协议,上述映射关系表征上述接口对应的文本描述信息与上述接口对应的参数解析方式之间的关联关系。
在一个实施例中,上述文本描述信息包括接口属性信息、数据结构定义、参数数据类型和参数属性信息;
上述参数解析方式包括参数处理方法和数据库中的参数字段名信息。
在一个实施例中,上述基于上述第二接口信息和上述参数处理模板,建立各上述接口对应的映射关系,得到上述参数处理协议,包括:
基于上述参数属性信息和上述参数字段名信息,得到参数映射信息,上述参数映射信息表征各参数在客户端和服务器之间的对应关系;
基于上述接口属性信息和上述参数解析方式,建立上述接口与不同应用场景下的上述各参数的解析方式之间的关联关系,得到接口参数信息;
根据上述接口参数信息和上述参数映射信息,得到上述参数处理协议。
在一个实施例中,上述接口请求信息基于参数指示信息生成,上述参数指示信息为基于上述参数处理协议确定的、用于指示客户端在不同应用场景下调用接口时所需上传的接口请求信息的指示信息。
以上仅为本申请实施例的较佳实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (11)

1.一种接口参数处理方法,其特征在于,所述方法包括:
获取接口请求信息,所述接口请求信息包括目标接口信息、接口请求参数和场景信息;
基于所述目标接口信息对参数处理协议进行检索,确定所述目标接口信息对应目标接口,所述参数处理协议包括至少一个接口,每一所述接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景;
基于所述场景信息,在所述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;
基于所述目标参数解析方式对所述接口请求参数进行解析处理,得到解析参数。
2.根据权利要求1所述的方法,其特征在于,所述获取接口请求信息包括:获取来自客户端的接口请求信息,所述接口请求信息还包括服务器地址信息,所述解析参数包括客户端解析参数,所述方法还包括:将所述客户端解析参数发送至所述服务器地址信息所指示的地址。
3.根据权利要求1或2所述的方法,其特征在于,所述获取接口请求信息还包括:获取来自服务器的接口请求信息,所述接口请求信息还包括客户端地址信息,所述解析参数还包括服务器解析参数,所述方法还包括:将所述服务器解析参数发送至所述客户端地址信息所指示的地址。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取第一接口信息,所述第一接口信息包括所述至少一个接口对应的机器描述信息;
对所述第一接口信息进行解析,得到第二接口信息,所述第二接口信息包括所述至少一个接口对应的文本描述信息;
读取参数处理模板,所述参数处理模板中包括所述至少一个接口在不同应用场景下分别对应的参数解析方式;
基于所述第二接口信息和所述参数处理模板,建立各所述接口对应的映射关系,得到所述参数处理协议,所述映射关系表征所述接口对应的文本描述信息与所述接口对应的参数解析方式之间的关联关系。
5.根据权利要求4所述的方法,其特征在于,所述文本描述信息包括接口属性信息、数据结构定义、参数数据类型和参数属性信息;
所述参数解析方式包括参数处理方法和数据库中的参数字段名信息。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第二接口信息和所述参数处理模板,建立各所述接口对应的映射关系,得到所述参数处理协议,包括:
基于所述参数属性信息和所述参数字段名信息,得到参数映射信息,所述参数映射信息表征各参数在客户端和服务器之间的对应关系;
基于所述接口属性信息和所述参数解析方式,建立所述接口与不同应用场景下的所述各参数的解析方式之间的关联关系,得到接口参数信息;
根据所述接口参数信息和所述参数映射信息,得到所述参数处理协议。
7.根据权利要求4至6中任意一项所述的方法,其特征在于,所述接口请求信息基于参数指示信息生成,所述参数指示信息为基于所述参数处理协议确定的、用于指示客户端在不同应用场景下调用接口时所需上传的接口请求信息的指示信息。
8.一种接口参数处理装置,其特征在于,所述装置包括:
参数获取模块,用于获取接口请求信息,所述接口请求信息包括目标接口信息、接口请求参数和场景信息;
接口确定模块,用于基于所述目标接口信息对参数处理协议进行检索,确定所述目标接口信息对应目标接口,所述参数处理协议包括至少一个接口,每一所述接口对应至少一种参数解析方式,不同的参数解析方式对应于不同应用场景;
解析方式确定模块,用于基于所述场景信息,在所述目标接口对应的至少一种参数解析方式中确定目标参数解析方式;
参数解析模块,用于基于所述目标参数解析方式对所述接口请求参数进行解析处理,得到解析参数。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1至7中任一项所述的一种接口参数处理方法。
10.一种电子设备,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1至7中任一项所述的一种接口参数处理方法。
11.一种计算机程序产品,其特征在于,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如权利要求1至7中任一项所述的一种接口参数处理方法。
CN202211523212.9A 2022-11-30 2022-11-30 接口参数处理方法、装置、存储介质以及电子设备 Pending CN118118528A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211523212.9A CN118118528A (zh) 2022-11-30 2022-11-30 接口参数处理方法、装置、存储介质以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211523212.9A CN118118528A (zh) 2022-11-30 2022-11-30 接口参数处理方法、装置、存储介质以及电子设备

Publications (1)

Publication Number Publication Date
CN118118528A true CN118118528A (zh) 2024-05-31

Family

ID=91214482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211523212.9A Pending CN118118528A (zh) 2022-11-30 2022-11-30 接口参数处理方法、装置、存储介质以及电子设备

Country Status (1)

Country Link
CN (1) CN118118528A (zh)

Similar Documents

Publication Publication Date Title
CN110324169B (zh) 一种接口管理的方法和装置
CN107809383B (zh) 一种基于mvc的路径映射方法及装置
CN102622444B (zh) 一种xml报文处理方法和装置
CN110489192B (zh) 远程通信方法及装置、电子设备
US20160050128A1 (en) System and Method for Facilitating Communication with Network-Enabled Devices
CN111683066B (zh) 异构系统集成方法、装置、计算机设备和存储介质
CN112583815B (zh) 一种操作指令管理方法、装置
CN111930709B (zh) 数据存储方法、装置、电子设备和计算机可读介质
CN114675820A (zh) 服务编排数据的处理方法、装置、电子设备和存储介质
CN107040613A (zh) 一种报文传输方法及系统
CN112637887B (zh) Ipran设备巡检方法、装置、设备、介质及产品
CN113783860B (zh) 一种基于可视化配置的报文处理方法、装置、设备及存储介质
US20240104298A1 (en) Method and apparatus for tabular data processing, terminal, and storage medium
JP2022552435A (ja) モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体
CN112073488A (zh) 处理请求的方法及装置
CN111782420A (zh) 基于Java Web框架的信息处理方法、装置、设备和介质
CN116781586A (zh) 一种gRPC流量解析方法、装置、设备及介质
CN118118528A (zh) 接口参数处理方法、装置、存储介质以及电子设备
CN103220327B (zh) 用户信息存储方法及装置
CN115481334A (zh) 基于协议的路由跳转方法和装置、电子设备及存储介质
CN114780800A (zh) 一种多链路路由管理方法和装置
CN114070761A (zh) 协议报文检测方法、其装置及电子设备
CN110471708B (zh) 基于可重用组件的配置项获取的方法及装置
CN113448652A (zh) 一种请求处理方法和装置
CN117931591A (zh) 日志数据处理方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication