首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
利用OpenFeign实现HTTP调用的最简单案例
返回列表
发新帖
利用OpenFeign实现HTTP调用的最简单案例
[复制链接]
发表于 2025-12-26 13:55:57
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
起首编写服务提供者
代码
,也就是创建一个springboot项目,端口默认8080即可,然后新建一个接口,启动项目之后可以通过http://localhost:8080/api/data直接访问
@RestController
@RequestMapping("/api")
public class DataController {
@GetMapping("/data")
public String getData() {
return "Hello from Producer!";
}
}
复制
代码
然后编写服务斲丧者
代码
,端口设置为8081,启动类加@EnableFeignClients,访问http://localhost:8081/consumer/data仍旧可以返回效果
@FeignClient(name = "producer", url = "http://localhost:8080")
public interface ProducerClient {
@GetMapping("/api/data")
String getData();
}
复制代码
@RestController
@RequestMapping("/consumer")
public class ConsumerController {
@Autowired
private ProducerClient producerClient;
@GetMapping("/data")
public String getDataFromProducer() {
return producerClient.getData();
}
}
复制代码
总结
在这个案例中,是基于 HTTP 的调用,而不是传统的 RPC 调用。这里利用了 OpenFeign 来简化 HTTP 客户端的开发,通过界说接口 ProducerClient 并利用注解 @FeignClient 指定了目的服务的 URL 和接口路径,OpenFeign 会主动天生实现这个接口的 HTTP 客户端,从而让你可以大概像调用当地方法一样调用远程服务。
具体来说,在你的例子中,ConsumerController 中的 getDataFromProducer 方法调用了 ProducerClient 接口的 getData 方法。这看起来就像是直接调用了远程服务的一个方法,但现实上,ProducerClient 是由 OpenFeign 动态天生的一个署理对象,该对象内部实现了向 http://localhost:8080/api/data 发起 HTTP GET 哀求的
功能
,并将相应效果转换成 String 范例返回给调用者。
因此,只管从代码的角度看,调用过程雷同于 RPC 调用,但现实上,这仍旧是基于 HTTP 协议的 RESTful
API
调用。OpenFeign 只是提供了一种更简便的方式来处理惩罚这些 HTTP 哀求,使代码更加清晰易读,镌汰了手动构建 HTTP 哀求息争析相应的工作量。
回复
使用道具
举报
返回列表
道家人
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表