CN112379951A - 服务接口的访问方法、装置、电子设备和介质 - Google Patents

服务接口的访问方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN112379951A
CN112379951A CN202011307604.2A CN202011307604A CN112379951A CN 112379951 A CN112379951 A CN 112379951A CN 202011307604 A CN202011307604 A CN 202011307604A CN 112379951 A CN112379951 A CN 112379951A
Authority
CN
China
Prior art keywords
interface
access request
metadata
service interface
parameter
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
CN202011307604.2A
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011307604.2A priority Critical patent/CN112379951A/zh
Publication of CN112379951A publication Critical patent/CN112379951A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种服务接口的访问方法,涉及元数据处理和接口技术领域。具体实现方案为:接收针对服务接口的访问请求,访问请求包括至少一个接口参数;按照服务接口的元数据的结构,基于访问请求的至少一个接口参数生成结构化对象;使用结构化对象来访问服务接口。本申请还公开了一种服务接口的访问装置、电子设备和存储介质。

Description

服务接口的访问方法、装置、电子设备和介质
技术领域
本申请涉及计算机技术领域,具体涉及元数据处理和接口技术。更具体地,本申请提供了一种服务接口的访问方法、装置、电子设备和存储介质。
背景技术
随着计算机和互联网技术的不断发展,各种应用程序应运而生。应用程序为外部请求提供服务时所依赖的部分数据来源于内部服务,出于安全性考虑,外部请求并不能直接访问内部服务。一般需要在代理网关层面将外部请求转发至内部服务,但是外部请求的请求数据因为业务场景的不同在数据形式上未必与内部服务一致,容易造成请求转发失败。
发明内容
提供了一种服务接口的访问方法、装置、电子设备和存储介质。
根据第一方面,提供了一种服务接口的访问方法,该方法包括:接收针对服务接口的访问请求,访问请求包括至少一个接口参数;按照服务接口的元数据的结构,基于访问请求的至少一个接口参数生成结构化对象;使用结构化对象来访问服务接口。
根据第二方面,提供了一种服务接口的访问装置,该装置包括:接收针对服务接口的访问请求,访问请求包括至少一个接口参数;按照服务接口的元数据的结构,基于访问请求的至少一个接口参数生成结构化对象;使用结构化对象来访问服务接口。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本申请提供的服务接口的访问方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本申请提供的服务接口的访问方法。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请一个实施例的可以应用服务接口的访问方法和装置的示例性系统架构;
图2是根据本申请的一个实施例的服务接口的访问方法的流程图;
图3是根据本申请的一个实施例的生成结构化对象的方法的流程图;
图4是根据本申请的一个实施例的建立结构体的方法的流程图;
图5是根据本申请的一个实施例的确定映射关系的方法的流程图;
图6是根据本申请的另一个实施例的确定映射关系的方法的流程图;
图7是根据本申请的另一个实施例的确定映射关系的方法的流程图;
图8是根据本申请的一个实施例的配置界面的示意图;
图9是根据本申请的一个实施例的服务接口的访问装置的框图;以及
图10是根据本申请一个实施例的服务接口的访问方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着计算机和互联网技术的不断发展,各种应用程序应运而生,各互联网公司都推出了自己的小程序应用。各种应用程序或者小程序在提供服务时所依赖的部分数据来源于内部服务,出于安全性考虑,外部请求并不能直接访问内部服务。因此一般需要在代理网关层面将外部请求转发至内部服务,网关可以通过配置外部请求URL与内部服务接口URL的对应关系进行请求转发,实现的是URL路径层面的映射和转发,但外部请求的请求数据因为业务场景的不同在数据形式上未必与内部服务完全一致,例如外部get请求的参数是username=test,id=2,而对应内部URL的请求类型为post,且在内部服务中id与username被封装成了复合对象user,接口对外呈现的是需要接收user对象,此时会导致请求无法正确转发。如果在内部服务接口层面为了对外部请求的参数进行转化而出现大量的硬编码,一旦外部请求参数格式出现变化,对应的内部服务相应接口代码都需进行改动,造成较大的开发成本和维护成本。
图1是根据本申请一个实施例的可以应用服务接口的访问方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本申请实施例的系统架构的示例,以帮助本领域技术人员理解本申请的技术内容,但并不意味着本申请实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括多个终端设备101、网络102、网关103和服务器104。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
终端设备101上可以安装有各种通讯客户端应用。终端设备101可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。网关103可以是用于将外部请求转发至内部服务的电子设备。服务器104可以是具有一定计算能力,能够提供各种应用服务或小程序服务的电子设备。
用户可以使用终端设备101通过网络102与网关103交互,以接收或发送消息等。示例性地,用户通过终端设备101输入应用程序的用户名和密码,终端设备101将包括用户名和密码的外部URL请求发送给网关103,网关103将外部URL请求转换为内部URL请求,并将请求转发给服务器104。服务器104对接收到的请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的登陆网页、提示信息等)通过网关103的转发反馈给终端设备101。
图2是根据本申请的一个实施例的服务接口的访问方法的流程图。
如图2所示,该服务接口的访问方法200可以包括操作S210~操作S230。
在操作S210,接收针对服务接口的访问请求,访问请求包括至少一个接口参数。
根据本申请的实施例,服务接口可以是分布式系统中的应用程序提供的用于数据交互的接口。在分布式系统中有多个服务接口,有些服务接口为用于与外部设备进行交互的接口,有些服务接口是用于与内部进程进行交互的接口。针对用于与外部进行交互的接口,存在将外部请求的参数进行格式转化的问题,因此,本申请实施例针对的接口可以是分布式系统中的应用程序提供的多个服务接口中用于与外部进行交互的服务接口,这些服务接口可以通过标注信息进行标记,在实施本申请实施例时,扫描分布式系统的多个接口,确定带有标注信息的服务接口作为指定的服务接口。
根据本申请的实施例,在外部请求访问时,需要外部请求提供接口参数。在网关将外部请求转发至接口时,会将外部URL请求转换为内部URL请求,然后将内部URL请求转发给服务接口。
在操作S220,按照服务接口的元数据的结构,基于访问请求的至少一个接口参数生成结构化对象。
根据本申请的实施例,网关除了将将外部URL请求转换为内部URL请求,还需要将请求中的参数格式转化为符合服务接口要求的格式。具体地,可以根据服务接口的元数据的结构,将访问请求中的接口参数转化为结构化的接口对象,该结构化的接口对象与服务接口的元数据具有相同的结构,因此,符合服务接口的格式要求。
根据本申请的实施例,元数据指的是描述数据的数据,服务接口的元数据可以是描述接口参数的字段。示例性地,元数据的类型可以包括基本类型、复合类型的集合类型。基本类型的元数据包括针对一个接口参数的一个字段,例如,元数据A为描述接口参数为用户名的数据,元数据A可以表示为string username,表示用户名字段,类型为字符型。又如,元数据B为描述接口参数为用户ID的数据,元数据B可以表示为int userid,表示用户ID字段,类型为数字型等等。针对基本类型的元数据,网关接收到的针对该元数据的外部请求时,外部请求中包括与元数据同类型的接口参数,例如外部请求包括用户名name,可以直接将name映射到元数据A的username字段。
复合类型的元数据包括多个字段,多个字段可以是不同类型。例如,元数据C为描述用户信息的数据,元数据C可以表示为user{string username,int userid,intuserage},该复合类型的元数据C包括类型为字符型的用户名字段、类型为数字型的用户ID字段以及类型为字符型的年龄字段。其中,该复合类型的元数据C中的各个字段并不直接对外展示,而是暴露给外部服务的是一个user对象。网关接收到的针对该复合类型的元数据的外部请求时,外部请求中可以包括name,id和age字段,网关可以基于元数据C的结构,将外部请求中的参数name,id和age生成结构化的接口对象user,该结构化的接口对象user与元数据C具有相同结构,符合服务接口接收参数的格式要求。
集合类型的元数据包括多个字段,多个字段是相同类型的。例如,元数据D为描述用户组信息的数据,可以表示为list<username>{string username1,string username2,string username3}。该集合类型的元数据D包括多个用户名字段,该多个用户名字段的类型相同,都是字符型。该集合类型的元数据D中的各个字段并不直接对外展示,暴露给外部服务的是一个list对象。网关接收到的针对该集合类型的元数据的外部请求时,外部请求中可以包括name1,name2和name3字段,网关可以基于集合元数据D的结构,将外部请求中的参数namel,name2和name3生成结构化的接口对象1ist,该结构化的接口对象1ist与集合类型的元数据D具有相同结构,符合服务接口接收参数的格式要求。
在操作S230,使用结构化对象来访问服务接口。
根据本申请的实施例,网关将结构化的接口对象分配给服务接口中对应的元数据,例如将user对象分配给接口中的元数据C,将list对象分配给服务接口中的元数据D等。服务接口根据结构化对象进行数据处理,以提供用户服务。例如,根据user对象中的用户名、密码和年龄验证用户身份信息等。
根据本申请的实施例,接收针对服务接口的访问请求,按照服务接口的元数据的结构,基于访问请求的至少一个接口参数生成结构化对象,使用结构化对象来访问服务接口。由于将外部请求中的参数按照服务接口内部元数据的结构生成了结构化对象,该结构化对象符合服务接口对参数格式的要求,能够避免因参数格式不一致导致的请求失败,提高访问成功率。
进一步地,相比于相关技术中开发人员在内部服务接口层面为实现外部请求的参数的转化而进行硬编码,本申请实施例通过在网关层面将外部请求的参数生成结构化对象,可以在网关层面实现自动参数转化和请求转发,避免外部请求参数格式或者内部方法元数据格式变动导致系统中出现大量的硬编码,从而大大减少开发人员的工作量,并且能够显著改善小程序场景下外部请求转发失败的问题。
图3是根据本申请的一个实施例的生成结构化对象的方法的流程图。
如图3所示,该生成结构化对象的方法可以包括操作S321~操作S322。
在操作S321,确定访问请求的至少一个接口参数与预先建立的结构体的至少一个字段之间的映射关系,结构体与服务接口的元数据具有相同结构。
根据本申请的实施例,针对服务接口的元数据,预先构建与该元数据具有相同结构的结构体。示例性地,对于用于描述用户名信息的基本类型的元数据A,元数据A可以表示为string username,元数据A包括一个字段username。针对元数据A可以构建结构体1,结构体1可以表示为struct{username}。
对于用于描述用户信息的复合类型的元数据C,元数据C可以表示为user{stringusername,int userid,int userage},其中包括类型为字符型的用户名字段、类型为数字型的用户ID字段以及类型为字符型的年龄字段。针对元数据C可以构建结构体2,该结构体2与元数据C具有相同结构,结构体2可以表示为user{username,userid,userage},结构体2中的字段与元数据C中的字段一一对应。
对于用于描述用户组信息的集合类型的元数据D,元数据D可以表示为list<username>{string username1,string username2,string username3},其中包括多个字符型的用户名字段。针对元数据D可以构建结构体3,结构体3与元数据D具有相同结构,结构体3可以表示为list<username>{username1,username2,username3},结构体3中的字段与元数据D中的字段一一对应。
根据本申请的实施例,针对访问请求1中的接口参数(name)与结构体1中的字段(username)对应。针对访问请求2中的接口参数(name,id和age),分别与结构体2中的字段(username,userid和userage)一一对应。针对访问请求3中的接口参数(name1,name2和name3),分别与结构体3的字段(username1,username2和username3)一一对应。
在操作S322,按照映射关系将至少一个接口参数分配给结构体的各个字段,生成结构化对象。
根据本申请的实施例,根据访问请求中的接口参数(name)与结构体1中的字段(username)的对应关系,可以将访问请求1中的接口参数生成struct对象。根据访问请求中的接口参数(name,id和age)与结构体2中的字段(username,userid和userage)的对应关系,可以将访问请求2中的接口参数生成user对象。根据访问请求3中的接口参数(name1,name2和name3)与结构体3的字段(username1,username2和username3)的对应关系,可以将访问请求中的接口参数生成list对象。
图4是根据本申请的一个实施例的建立结构体的方法的流程图。
如图4所示,该建立结构体的方法可以包括操作S411~操作S412。
在操作S411,确定服务接口的元数据的结构,元数据包括以结构布置的至少一个接口参数字段。
在操作S412,按照元数据的结构生成具有多个字段的结构体,结构体的多个字段按照与元数据相同的结构布置。
根据本申请的实施例,可以通过反射读取服务接口的元数据,确定元数据中的字段。不同类型的元数据具有不同的结构,对于用于描述用户名信息的基本类型的元数据A,元数据A可以表示为string username,元数据A的username字段按照元数据A的结构布置。
对于用于描述用户信息的复合类型的元数据C,元数据C表示为user{stringusername,int userid,int userage},其中的username字段、userid字段和userage按照元数据C的结构进行布置。
对于用于描述用户组信息的集合类型的元数据D,元数据D表示为list<username>{string username1,string username2,string username3},其中的username1,username2和username3字段按照元数据D进行布置。
图5是根据本申请的一个实施例的确定映射关系的方法的流程图。
如图5所示,该确定映射关系的方法可以包括操作S5321~操作S5322。
在操作S5321,根据访问请求的至少一个接口参数从多个结构体中选择针对访问请求的结构体作为目标结构体。
在操作S5322,确定访问请求的至少一个接口参数与目标结构体的至少一个字段之间的映射关系。
根据本申请的实施例,一个服务接口可以包括多个类型的元数据,例如服务接口包括基本类型的元数据A、复合类型的元数据B和集合类型的元数据C。针对每个元数据的结构体可以生成服务接口的结构体集合,结构体集合例如可以表示为json schema{结构体1,结构体2,结构体3}。可以将服务接口的ID以及针对该服务接口的json schema保存在数据库中,以服务接口的ID为键值,可以通过输入服务接口的ID,查询到该服务接口的jsonschema。
根据本申请的实施例,在接收到访问请求时,可以基于访问请求中的参数确定json schema中的目标结构体,例如,访问请求中的参数包括name,id和age,可以选择结构体2为目标结构体,将参数name,id和age映射到username,userid和userage字段。又例如,访问请求中的参数包括name1,name2和name3,可以确定结构体3为目标结构体,将参数name1,name2和name3映射到username1,username2和username3字段。
图6是根据本申请的另一个实施例的确定映射关系的方法的流程图。
如图6所示,该确定映射关系的方法可以包括操作S6321~操作S6322。
在操作S6321,按照历史访问请求中的至少一个接口参数与结构体的至少一个字段之间的历史映射关系,确定接口参数与结构体的字段之间的映射规则。
在操作S6322,按照映射规则,确定访问请求的至少一个接口参数与结构体的至少一个字段之间的映射关系。
根据本申请的实施例,在接收到访问请求之后,基于访问路径确定服务接口,获取服务接口的元数据的结构体集合json schema。获取访问请求中的参数,基于同一访问路径的历史访问请求的参数与json schema中的字段之间的历史映射关系,确定当前请求中的参数与json schema中的字段之间的历史映射关系。示例性地,与当前请求同一访问路径的历史访问请求中的参数1和参数2,对应json schema中的字段1和字段2,则当前访问请求中的参数3和参数4对应json schema中的字段1和字段2。
图7是根据本申请的另一个实施例的确定映射关系的方法的流程图。
如图7所示,该确定映射关系的方法可以包括操作S7321~操作S7322。
在操作S7321,响应于访问请求,展示配置界面,配置界面呈现了访问请求中的至少一个接口参数和结构体的至少一个字段。
在操作S7322,基于用户在配置界面的输入,确定访问请求的至少一个接口参数与结构体的至少一个字段之间的映射关系。
根据本申请的实施例,网关可以提供可视化的配置界面,在接收到访问请求之后,响应于访问请求,显示该配置界面。用户可以在该配置界面上对外部请求的参数与内部服务接口的结构体中的字段进行统一的映射配置。配置后的映射关系可以保存,使得后续针对同一访问路径的外部请求即可依据配置的映射规则自动进行数据映射和转发。
图8是根据本申请的一个实施例的配置界面的示意图。
如图8所示,该配置界的第一展示区域801呈现了外部访问请求中的参数,如参数一name、参数二id、参数三age和参数四sex。该配置界的第二展示区域802呈现了针对服务接口的结构体中的字段,包括字段username、userid、userage和usersex。用户可以进行配置操作,响应于配置操作,外部请求中参数一name与结构体中的字段username对应,参数二id与结构体中的字段userid对应,参数三age与结构体中的字段userage对应,参数四sex与结构体中的字段usersex对应。
如图8所示,该配置界面还可以展示经映射后,生成的结构化对象user,该结构化对象user对应服务接口中的复合型的元数据,该复合型的元数据包括username、userid、userage和usersex,将结构化对象user的字段一一对应地分配给元数据的接口参数字段,使得服务接口中元数据的字段具有具体的参数值,能够基于具体的参数值运行应用程序,进行数据处理等服务。
图9是根据本申请的一个实施例的服务接口的访问装置的框图。
如图9所示,该服务接口的访问装置900可以包括接收模块901、生成模块902和访问模块903。
接收模块901用于接收针对服务接口的访问请求,访问请求包括至少一个接口参数。
生成模块902用于按照服务接口的元数据的结构,基于访问请求的至少一个接口参数生成结构化对象。
访问模块903用于使用结构化对象来访问服务接口。
根据本申请的实施例,生成模块902包括第一确定单元和第一生成单元。
第一确定单元用于确定访问请求的至少一个接口参数与预先建立的结构体的至少一个字段之间的映射关系,结构体与服务接口的元数据具有相同结构。
第一生成单元用于按照映射关系将至少一个接口参数分配给结构体的各个字段,生成结构化对象。
根据本申请的实施例,服务接口的访问装置900还包括建立模块。建立模块包括第二确定单元和第二生成单元。
第二确定单元用于确定服务接口的元数据的结构,元数据包括以结构布置的至少一个接口参数字段。
第二生成单元用于按照元数据的结构生成具有多个字段的结构体,结构体的多个字段按照与元数据相同的结构布置。
根据本申请的实施例,服务接口具有多个元数据,针对多个元数据分别预先建立了多个结构体。第一确定单元包括选择子单元和第一确定子单元。
选择子单元用于根据访问请求的至少一个接口参数从多个结构体中选择针对访问请求的结构体作为目标结构体。
第一确定子单元用于确定访问请求的至少一个接口参数与目标结构体的至少一个字段之间的映射关系。
根据本申请的实施例,第一确定单元包括第二确定子单元和第三确定子单元。
第二确定子单元用于按照历史访问请求中的至少一个接口参数与结构体的至少一个字段之间的历史映射关系,确定接口参数与结构体的字段之间的映射规则。
第三确定子单元用于按照映射规则,确定访问请求的至少一个接口参数与结构体的至少一个字段之间的映射关系。
根据本申请的实施例,第一确定单元包括展示子单元和第四确定子单元。
展示子单元用于响应于访问请求,展示配置界面,配置界面呈现了访问请求中的至少一个接口参数和结构体的至少一个字段。
第四确定子单元用于基于用户在配置界面的输入,确定访问请求的至少一个接口参数与结构体的至少一个字段之间的映射关系。
根据本申请的实施例,访问模块903用于将结构化对象的各个字段中的接口参数一一对应地分配给服务接口的元数据的各个接口参数字段。
根据本申请的实施例,结构体包括针对一个接口参数的一个字段。
根据本申请的实施例,结构体包括多个字段,多个字段分别针对多个不同类型的接口参数。
根据本申请的实施例,结构体包括多个字段,多个字段分别针对多个相同类型的接口参数。
根据本申请的实施例,服务接口是分布式系统中的多个应用程序接口中预先指定的应用程序接口。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请一个实施例的服务接口的访问方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备1000包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的服务接口的访问方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的服务接口的访问方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的服务接口的访问方法对应的程序指令/模块(例如,附图9所示的接收模块901、生成模块902和访问模块903)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的服务接口的访问方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务接口的访问方法的电子设备1000的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至服务接口的访问方法的电子设备1000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
服务接口的访问方法的电子设备1000还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与服务接口的访问方法的电子设备1000的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,接收针对所述服务接口的访问请求,按照所述服务接口的元数据的结构,基于所述访问请求的至少一个接口参数生成结构化对象,使用所述结构化对象来访问所述服务接口。由于将外部请求中的参数按照服务接口内部元数据的结构生成了结构化对象,该结构化对象符合服务接口对参数格式的要求,能够避免因参数格式不一致导致的请求失败,提高访问成功率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种服务接口的访问方法,包括:
接收针对所述服务接口的访问请求,所述访问请求包括至少一个接口参数;
按照所述服务接口的元数据的结构,基于所述访问请求的至少一个接口参数生成结构化对象;
使用所述结构化对象来访问所述服务接口。
2.根据权利要求1所述的方法,其中,所述按照所述服务接口的元数据的结构,基于所述访问请求的至少一个接口参数生成结构化对象包括:
确定所述访问请求的至少一个接口参数与预先建立的结构体的至少一个字段之间的映射关系,所述结构体与所述服务接口的元数据具有相同结构;
按照所述映射关系将所述至少一个接口参数分配给所述结构体的各个字段,生成所述结构化对象。
3.根据权利要求2所述的方法,还包括建立结构体,所述建立结构体包括:
确定所述服务接口的元数据的结构,所述元数据包括以所述结构布置的至少一个接口参数字段;
按照所述元数据的结构生成具有多个字段的结构体,所述结构体的所述多个字段按照与所述元数据相同的结构布置。
4.根据权利要求2所述的方法,其中,所述服务接口具有多个元数据,针对所述多个元数据分别预先建立了多个结构体,所述确定所述访问请求的至少一个接口参数与预先建立的结构体的至少一个字段之间的映射关系包括:
根据所述访问请求的至少一个接口参数从所述多个结构体中选择针对所述访问请求的结构体作为目标结构体;
确定所述访问请求的至少一个接口参数与所述目标结构体的至少一个字段之间的映射关系。
5.根据权利要求2所述的方法,其中,所述确定所述访问请求的至少一个接口参数与预先建立的结构体的至少一个字段之间的映射关系包括:
按照历史访问请求中的至少一个接口参数与所述结构体的至少一个字段之间的历史映射关系,确定接口参数与结构体的字段之间的映射规则;
按照所述映射规则,确定所述访问请求的至少一个接口参数与所述结构体的至少一个字段之间的映射关系。
6.根据权利要求2所述的方法,其中,所述确定所述访问请求的至少一个接口参数与预先建立的结构体的至少一个字段之间的映射关系包括:
响应于所述访问请求,展示配置界面,所述配置界面呈现了所述访问请求中的至少一个接口参数和所述结构体的至少一个字段;
基于用户在所述配置界面的输入,确定所述访问请求的至少一个接口参数与所述结构体的至少一个字段之间的映射关系。
7.根据权利要求1所述的方法,其中,所述使用所述结构化对象来访问所述服务接口包括:
将所述结构化对象的各个字段中的接口参数一一对应地分配给所述服务接口的所述元数据的各个接口参数字段。
8.根据权利要求2所述的方法,其中,所述结构体包括针对一个接口参数的一个字段。
9.根据权利要求2所述的方法,其中,所述结构体包括多个字段,所述多个字段分别针对多个不同类型的接口参数。
10.根据权利要求2所述的方法,其中,所述结构体包括多个字段,所述多个字段分别针对多个相同类型的接口参数。
11.根据权利要求1所述的方法,其中,所述服务接口是分布式系统中的多个应用程序接口中预先指定的应用程序接口。
12.一种服务接口的访问装置,包括:
接收模块,用于接收针对所述服务接口的访问请求,所述访问请求包括至少一个接口参数;
生成模块,用于按照所述服务接口的元数据的结构,基于所述访问请求的至少一个接口参数生成结构化对象;
访问模块,用于使用所述结构化对象来访问所述服务接口。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至11中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1至11中任一项所述的方法。
CN202011307604.2A 2020-11-19 2020-11-19 服务接口的访问方法、装置、电子设备和介质 Pending CN112379951A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011307604.2A CN112379951A (zh) 2020-11-19 2020-11-19 服务接口的访问方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011307604.2A CN112379951A (zh) 2020-11-19 2020-11-19 服务接口的访问方法、装置、电子设备和介质

Publications (1)

Publication Number Publication Date
CN112379951A true CN112379951A (zh) 2021-02-19

Family

ID=74584571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011307604.2A Pending CN112379951A (zh) 2020-11-19 2020-11-19 服务接口的访问方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN112379951A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116067A (zh) * 2021-12-02 2022-03-01 多点生活(武汉)科技有限公司 内外系统的信息配置方法、装置、电子设备和可读存储介质
CN117573762A (zh) * 2024-01-15 2024-02-20 杭州数云信息技术有限公司 数据连接平台的数据处理方法及装置、存储介质、服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070076154A (ko) * 2006-01-18 2007-07-24 텔코웨어 주식회사 관계형 데이터베이스 접근을 위한 ldap 질의 처리 장치및 그 방법
CN102866910A (zh) * 2011-08-31 2013-01-09 微软公司 用元数据描述操作系统的本机应用编程接口
US20130014080A1 (en) * 2011-07-05 2013-01-10 Frank Brunswig Bulk access to metadata in a service-oriented business framework
CN111600909A (zh) * 2020-06-24 2020-08-28 腾讯科技(深圳)有限公司 数据处理方法、装置、协议转换设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070076154A (ko) * 2006-01-18 2007-07-24 텔코웨어 주식회사 관계형 데이터베이스 접근을 위한 ldap 질의 처리 장치및 그 방법
US20130014080A1 (en) * 2011-07-05 2013-01-10 Frank Brunswig Bulk access to metadata in a service-oriented business framework
CN102866910A (zh) * 2011-08-31 2013-01-09 微软公司 用元数据描述操作系统的本机应用编程接口
CN111600909A (zh) * 2020-06-24 2020-08-28 腾讯科技(深圳)有限公司 数据处理方法、装置、协议转换设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
毛建强;黄颖;: "基于对象映射的数据访问服务", 指挥信息系统与技术, no. 04, 28 August 2012 (2012-08-28) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116067A (zh) * 2021-12-02 2022-03-01 多点生活(武汉)科技有限公司 内外系统的信息配置方法、装置、电子设备和可读存储介质
CN114116067B (zh) * 2021-12-02 2024-02-27 多点生活(武汉)科技有限公司 内外系统的信息配置方法、装置、电子设备和可读存储介质
CN117573762A (zh) * 2024-01-15 2024-02-20 杭州数云信息技术有限公司 数据连接平台的数据处理方法及装置、存储介质、服务器
CN117573762B (zh) * 2024-01-15 2024-04-16 杭州数云信息技术有限公司 数据连接平台的数据处理方法及装置、存储介质、服务器

Similar Documents

Publication Publication Date Title
KR102552419B1 (ko) Gpu 공유 방법, 장치, 전자 기기 및 판독 가능한 저장 매체
US11445008B2 (en) Data processing methods, electronic devices, and storage media
CN111586128B (zh) 小程序数据的获取方法、装置、设备以及存储介质
CN110727434B (zh) 渲染方法、装置、电子设备及存储介质
CN111625738A (zh) App目标页面的唤起方法、装置、设备和存储介质
CN111770161B (zh) https的嗅探跳转方法和装置
KR102546577B1 (ko) 미니 프로그램 데이터 처리 방법 및 장치
CN111813623B (zh) 一种页面监控方法、装置、电子设备及存储介质
CN111752843A (zh) 用于确定影响面的方法、装置、电子设备及可读存储介质
CN112379951A (zh) 服务接口的访问方法、装置、电子设备和介质
JP7132999B2 (ja) アプリケーションの動作状態を検証する方法および装置
CN112015468A (zh) 一种接口文档处理方法、装置、电子设备以及存储介质
CN111770176A (zh) 流量调度方法及装置
CN111610972A (zh) 页面生成方法、装置、设备及存储介质
US9201938B2 (en) Parameter driven data format conversion in client/server architectures
CN112565225B (zh) 用于数据发送的方法、装置、电子设备及可读存储介质
CN112000880B (zh) 推送消息的处理方法、装置、电子设备及可读存储介质
CN111988384B (zh) 一种信息传输方法、装置、电子设备及存储介质
CN112084000B (zh) 容器集群的测试方法和装置
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
CN112069137A (zh) 生成信息的方法、装置、电子设备及计算机可读存储介质
CN111835857B (zh) 用于访问数据的方法和装置
CN111177558B (zh) 频道业务构建方法及装置
KR20210040333A (ko) 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램
CN111582480A (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