如何解决什么是合适的 Feign Client 范式?
我有一个带有 Spring Boot 控制器类的服务,每个类都实现了一个接口,这些接口都封装在一个“api.jar”中。另一个人正在创建一个不同的服务,它是第一个服务的 http 客户端。
Feign 的合适用例是什么:
-
api.jar 接口有 feign 注解,以便创建外部服务的人可以使用 api.jar 自动生成 FeignClient
-
或者,外部服务的创建者知道API规范,并创建自己的Feigned注解接口半镜像api.jar(因此他们可以适当填写@FeignClient注解,或者在控制器方法)
-
或者,api.jar接口被feign注解,Server owner创建并发布一个SDK,封装了Feign Client的手动创建,如下,
FirstControllerAPI client = Feign.builder()
.decoder(new GsonDecoder())
.target(FirstController.class,"https://api.github.com");
我的主要困惑是#1 和#3 最有意义,但教程似乎描述了#2,由于镜像,这似乎不合逻辑。
无论 SDK 实现如何,服务器都会保持向后兼容性,SDK 的创建只是为了便于集成。始终可以手动访问 http 端点。
提前感谢您的建议!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。