首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Feign 接口的继承

Feign 接口的继承

原创
作者头像
堕落飞鸟
发布2023-04-08 10:28:39
发布2023-04-08 10:28:39
76910
代码可运行
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏
运行总次数:0
代码可运行

接口继承

在Feign中,接口继承和Java的接口继承很类似,它可以让我们定义一组相关的Web服务接口,并通过继承来实现代码的复用和优化。

例如,我们有一个用户服务接口和一个订单服务接口,它们都有获取用户信息的方法,我们可以将这个方法定义在一个公共的父接口中,然后让用户服务接口和订单服务接口继承该父接口,从而实现代码的复用。

定义父接口

首先,我们需要定义一个公共的父接口,其中包含所有Web服务接口都需要实现的方法。

代码语言:javascript
代码运行次数:0
运行
复制
public interface BaseService {
    @GetMapping("/health")
    String health();
    
    @GetMapping("/getById")
    User getById(@RequestParam("id") Long id);
}

在上面的示例中,我们定义了一个名为BaseService的接口,其中包含了获取健康状态和获取用户信息两个方法。

继承父接口

接下来,我们可以让用户服务接口和订单服务接口继承BaseService接口,从而实现代码的复用。

代码语言:javascript
代码运行次数:0
运行
复制
@FeignClient(name = "user-service")
public interface UserService extends BaseService {
    @PostMapping("/createUser")
    User createUser(@RequestBody User user);
}

@FeignClient(name = "order-service")
public interface OrderService extends BaseService {
    @PostMapping("/createOrder")
    Order createOrder(@RequestBody Order order);
}

在上面的示例中,我们让用户服务接口和订单服务接口分别继承了BaseService接口,并分别定义了自己的业务方法。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 接口继承
    • 定义父接口
    • 继承父接口
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档