@FeignClient的name和path使用方法

本文介绍如何在微服务架构中使用Feign简化服务间调用。通过配置服务名称和服务路径,实现接口定义与调用的分离,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在团队开发中,如果你的微服务需要给别人提供接口调用,那么通常你需要写一个feign包,这个包是服务提供方和调用方都能通过maven引入的。

在微服务概念中,每个服务都有一个服务名称,在web项目中,每个服务都有一个context-path配置,是所有接口的前缀,具体配置分别是:

服务名称:

spring:
  application:
    name: testAdmin

context-path:

server:
  servlet:
    context-path: /test

如上两个配置。

我在写feign包的时候,会创建一个接口,类名加feign注解,加这个注解主要是给调用方用的,用来标识我的服务名称和context-path,如下配置,name对应服务名称,path对应context-path,然后写每个接口的路径名。

此处的@FeignClient注解,可以简单理解为帮助调用方找到真实的服务提供方的接口路径,实际上feign能做的不止这么多。

@FeignClient(name = "testAdmin", path = "/test")
public interface TestFeignClient{

    @PostMapping("/test")
    void test(@RequestBody TestParam param);

}

如此,我的提供方就配置好了,接下来我需要写一个controller实现我的feign接口,提供服务就完成了。

更新:

建议feign包改为两个接口,接口A定义接口和@RequestMapping,接口B继承接口A,并添加@FeignClient注解,这样调用方使用接口B,提供方实现接口A,且提供方无需注入接口B到自己的服务中。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值