[发明专利]一种基于自定义插件的无接口定义Feign客户端远程调用方法在审
申请号: | 202111658780.5 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114401256A | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 刘晓 | 申请(专利权)人: | 四川启睿克科技有限公司 |
主分类号: | H04L67/00 | 分类号: | H04L67/00;H04L67/133;H04L67/30;H04L67/56;G06F9/48;G06F9/54 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 赵以鹏 |
地址: | 610000 四川省成都市中国(四川)*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 自定义 插件 接口 定义 feign 客户端 远程 调用 方法 | ||
本发明公开了一种基于自定义插件的无接口定义Feign客户端远程调用方法,包括:S1:生成自定义插件;S2:在当前微服务项目中使用自定义插件。本方法采用反射技术、JDK动态代理技术、RestTemplate模板技术,解决SpringBoot微服务项目间远程接口调用Feign方法使用时,需要重新创新一个远程接口调用类,并复制粘贴被调用接口的方法名和参数列表这样一种繁琐操作的问题。有效地减少了微服务项目之间远程RPC的Feign客户端调用时复制粘贴接口代码时所需要写的冗余代码量。
技术领域
本发明涉及计算机技术领域,具体涉及一种基于自定义插件的无接口定义Feign客户端远程调用方法。
背景技术
目前SpringBoot微服务项目之间接口远程调用所通常采用的SpringCloud的Feign方法技术,在调用方项目会单独重新创建定义一个新的接口,并且会把被调用方中的接口中的方法名称及参数全数复制粘贴过来。
具体缺陷就在于:如果远程调用的接口数量比较多,比如上百个,那这个重复冗余的代码量就嫌大了,感觉是在做无用功。
具体缺陷的技术原因是:Spring团队没有照顾到开发者使用远程接口调用的烦躁心态,而是强制开发者复制被调用方项目接口信息到调用方项目接口中,方便其系统的后续调用。可能是Spring方认为这是一个小问题,开发者多做一点体力活没多大关系,而没有思考到或者是不愿意去从包名利用反射技术去注册接口代理类到IOC容器中。
发明内容
本发明的目的在于提出了一种适用于基于自定义插件的无接口定义Feign客户端远程调用方法,以期解决背景技术中存在的技术问题。
为了实现上述目的,本发明采用以下技术方案:
一种基于自定义插件的无接口定义Feign客户端远程调用方法,包括:
S1:生成自定义插件:
S101:设置配置文件的属性前缀;属性前缀下存放调用对方项目接口所在的包名;
S102:根据配置文件的专有属性前缀下的包名字符串,根据反射机制找到该包下对应的接口名称列表;
S103:循环上一步获取到的接口名称列表,生成每一个接口对应的自己的代理类;
S104:在上一步生成的代理类中,获取每一个接口下的方法的服务名称,拼装远程调用Url地址;再根据RestTemplate模板,实施远程调用功能。
S105:将上一步生成的接口代理类,在程序初始化时,先于其它Bean对象之前注入到IOC容器中;
S106:将该程序运行打成Jar包上传到本地Mavent私服中,作为一个自定义插件使用;
S2:在当前微服务项目中使用自定义插件。
在一些实施例中,所述拼装远程调用Url地址为:“http://”+服务名称+请求参数。
在一些实施例中,所述S2:在当前微服务项目中使用自定义插件,包括:
S201:在当前微服务项目中Pom文件Maven中引入自定义插件的依赖;
S202:在当前微服务项目的配置文件中写上配置属性:被调用方接口所在的包名;
S203:在当前微服务项目要实施远程调用的代码中写一行代码:被调用方服务名称.被调用方法名称。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川启睿克科技有限公司,未经四川启睿克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111658780.5/2.html,转载请声明来源钻瓜专利网。