本发明涉及计算机,尤其涉及一种接口访问方法、装置、电子设备及存储介质。
背景技术:
1、在后台服务开发过程中,很多场景需要服务中的内部接口可以进行外部访问。
2、以dubbo框架为例,在dubbo框架中,服务a和服务b之间的接口被调用的方式可以为:作为服务提供者的一方a将服务接口注册到注册中心,作为调用者的一方b需要向注册中心订阅所需的服务接口,通过服务接口的调用可以实现两个服务之间的中间访问。当dubbo服务需要提供给外部使用时,例如当程序开发者想要检测自己的服务a中的接口运行情况;或者服务a有一个定时任务接口需要服务b定时调用运行,但是服务b出现了问题无法调用成功,就需要为服务a的内部接口封装一层可对外提供服务的http服务,以用于对服务a的内部接口进行外部访问。当前,现有技术可以由技术人员在服务中,为每一个需要对外部提供服务的内部接口编写封装代码,以实现内部接口的外部访问。
3、但是,如果服务运行过程中需要新增可对外提供服务的内部接口或升级内部接口,则需停止服务更改封装代码,之后再重新启动服务为外部提供相应服务,服务连续性不足。
技术实现思路
1、本发明提供一种接口访问方法、装置、电子设备及存储介质,用以解决现有技术中无法有效的对服务的内部接口进行外部访问的缺陷,可以有效实现客户端对服务端内部接口的外部访问。
2、本发明提出一种接口访问方法,应用于接口访问装置,所述接口访问装置分别与服务端和客户端通信连接;所述接口访问方法包括:
3、获得服务端内部接口的访问地址配置信息;
4、将所述访问地址配置信息传输至所述客户端;
5、接收所述客户端发送的外部访问请求;其中,所述外部访问请求包括所述服务端内部接口的外部访问地址,所述外部访问地址是由所述客户端基于所述访问地址配置信息生成的;
6、响应于所述外部访问请求,基于所述外部访问地址访问所述服务端内部接口,获得访问结果并返回至所述客户端。
7、可选的,所述服务端中保存所述访问地址配置信息;所述获得服务端内部接口的访问地址配置信息,包括:
8、获得所述客户端发送的信息查询请求,所述信息查询请求用于获得所述访问地址配置信息;
9、响应于所述信息查询请求,从所述服务端中获得所述访问地址配置信息。
10、可选的,所述服务端中对应保存用户信息和授权访问地址配置信息,所述信息查询请求中包括访问用户信息;所述响应于所述信息查询请求,从所述服务端中获得所述访问地址配置信息,包括:
11、响应于所述信息查询请求,将所述信息查询请求转发至所述服务端,以使得所述服务端查找与所述访问用户信息对应的授权访问地址配置信息;
12、获得所述服务端返回的与所述访问用户信息对应的授权访问地址配置信息。
13、可选的,所述接口访问装置还与数据存储装置通信连接,所述数据存储装置中对应保存服务端标识信息和访问地址记录信息;在所述获得所述客户端发送的信息查询请求之前,所述接口访问方法还包括:
14、获得第一标识信息;所述第一标识信息为与所述服务端对应的服务端标识信息;
15、从所述数据存储装置中,确定与所述第一标识信息对应的所述访问地址记录信息;
16、基于与所述第一标识信息对应的所述访问地址记录信息,生成所述访问地址配置信息;
17、将所述访问地址配置信息存储至所述服务端的内部缓存中。
18、可选的,所述访问地址记录信息包括地址头、包名、类名、方法名和参数类型;所述基于与所述第一标识信息对应的所述访问地址记录信息,生成所述访问地址配置信息,包括:
19、对与所述第一标识信息对应的所述访问地址记录信息中的地址头、包名、类名、方法名和参数类型进行组装,获得所述访问地址配置信息。
20、可选的,所述访问地址配置信息包括:类名、方法名和参数类型;所述外部访问地址是由所述客户端在所述访问地址配置信息的基础上添加参数信息而生成的;所述响应于所述外部访问请求,基于所述外部访问地址访问所述服务端内部接口,包括:
21、响应于所述外部访问请求,解析所述外部访问地址,获得所述类名、所述方法名、所述参数类型和所述参数信息;
22、基于反射机制、所述类名、所述方法名、所述参数类型和所述参数信息,访问所述服务端内部接口。
23、可选的,所述基于反射机制、所述类名、所述方法名、所述参数类型和所述参数信息,访问所述服务端内部接口,包括:
24、通过反射机制,分别确定与所述类别和所述方法名对应的类对象和方法对象;
25、基于所述参数类型,将所述参数信息包装为入参对象;
26、基于反射机制、所述类对象、所述方法对象和所述入参对象,访问所述服务端内部接口。
27、本发明还提出一种接口访问装置,所述接口访问装置分别与服务端和客户端通信连接;所述接口访问装置包括:第一获得单元、传输单元、接收单元、第一访问单元、第二获得单元和第一返回单元;其中:
28、所述第一获得单元,用于获得服务端内部接口的访问地址配置信息;
29、所述传输单元,用于将所述访问地址配置信息传输至所述客户端;
30、所述接收单元,用于接收所述客户端发送的外部访问请求;其中,所述外部访问请求包括所述服务端内部接口的外部访问地址,所述外部访问地址是由所述客户端基于所述访问地址配置信息生成的;
31、所述第一访问单元,用于响应于所述外部访问请求,基于所述外部访问地址访问所述服务端内部接口;
32、所述第二获得单元,用于获得访问结果;
33、所述第一返回单元,用于将所述访问结果返回至所述客户端。
34、本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述接口访问方法。
35、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述接口访问方法。
36、本发明提出的接口访问方法、装置、电子设备及存储介质,可以对访问地址配置信息进行动态管理,比如进行改动、新增和替换等处理,当内部接口的相关配置信息发生变化、或者需要新增和升级内部接口时,可以通过更新服务端接口的访问地址配置信息来满足变化要求,比如新增内部接口的访问地址配置信息或更新相应内部接口的访问地址配置信息,并可以通过分别与客户端和服务端之间的交互,基于访问地址配置信息生成对服务端内部接口的外部访问地址,基于服务端内部接口的外部访问地址对服务端内部接口进行外部访问,无需在目标服务中增加封装代码,无需停止服务运行,具备动态性,可以提高服务运行效率,增强服务连续性。
1.一种接口访问方法,其特征在于,应用于接口访问装置,所述接口访问装置分别与服务端和客户端通信连接;所述接口访问方法包括:
2.根据权利要求1所述的接口访问方法,其特征在于,所述服务端中保存所述访问地址配置信息;所述获得服务端内部接口的访问地址配置信息,包括:
3.根据权利要求2所述的接口访问方法,其特征在于,所述服务端中对应保存用户信息和授权访问地址配置信息,所述信息查询请求中包括访问用户信息;所述响应于所述信息查询请求,从所述服务端中获得所述访问地址配置信息,包括:
4.根据权利要求2所述的接口访问方法,其特征在于,所述接口访问装置还与数据存储装置通信连接,所述数据存储装置中对应保存服务端标识信息和访问地址记录信息;在所述获得所述客户端发送的信息查询请求之前,所述接口访问方法还包括:
5.根据权利要求4所述的接口访问方法,其特征在于,所述访问地址记录信息包括地址头、包名、类名、方法名和参数类型;所述基于与所述第一标识信息对应的所述访问地址记录信息,生成所述访问地址配置信息,包括:
6.根据权利要求1所述的接口访问方法,其特征在于,所述访问地址配置信息包括:类名、方法名和参数类型;所述外部访问地址是由所述客户端在所述访问地址配置信息的基础上添加参数信息而生成的;所述响应于所述外部访问请求,基于所述外部访问地址访问所述服务端内部接口,包括:
7.根据权利要求6所述的接口访问方法,其特征在于,所述基于反射机制、所述类名、所述方法名、所述参数类型和所述参数信息,访问所述服务端内部接口,包括:
8.一种接口访问装置,其特征在于,所述接口访问装置分别与服务端和客户端通信连接;所述接口访问装置包括:第一获得单元、传输单元、接收单元、第一访问单元、第二获得单元和第一返回单元;其中:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述接口访问方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述接口访问方法。