V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yeqizhang
V2EX  ›  问与答

请问一下 springcloud 组件 feign 的问题

  •  
  •   yeqizhang · 2021-04-21 17:21:30 +08:00 · 561 次点击
    这是一个创建于 1346 天前的主题,其中的信息可能已经有所发展或是发生改变。

    只是使用 feign,未使用 eureka 来注册服务。

    昨天我刚刚开始学 feign 时,网上找的例子,是把 feign 接口定义在服务提供者这边,然后消费者引入这个接口注入来使用。这种比较类似于 dubbo rpc 接口。

    今天我找了个例子又发现服务提供者只暴露 http 接口出来(也就是说只要是 http 接口都可以转成 feign 接口),feign 接口是消费者那边使用时再写的。

    请问实际使用中,如果不使用注册中心,interface 是定义在什么地方?

    如果使用 eureka,feign interface 该是服务提供者这边对应给出吗?

    是不是我应该一开始就去官网找 demo 的...

    yeqizhang
        1
    yeqizhang  
    OP
       2021-04-21 17:44:28 +08:00 via Android
    破案了,搞清楚 feignclient 的 value name url 就大概明白了
    nullllllllllllll
        2
    nullllllllllllll  
       2021-04-22 10:21:33 +08:00
    ### 服务方
    ```
    @GetMapping("/service/url")
    public Object selectObject(@RequestParam String key) {
    return service. selectObject(key);
    }
    ```

    ### 调用方
    ```
    @FeignClient(name = "${127.0.0.1:8080}")
    public interface ServiceClient {

    @GetMapping("/service /url")
    Object selectObject(@RequestParam String key);
    }
    ```
    yeqizhang
        3
    yeqizhang  
    OP
       2021-04-22 11:42:44 +08:00 via Android
    @nullllllllllllll 我搞清楚了,网上例子有直接类里写服务地址,还有不使用注册中心时自定义服务名,在配置文件中给 ribbon 配服务地址。

    现在还没搞清楚的,要不要独立一个模块出来写 feignclient 接口?服务提供者那边的 controller 有没有必要 implements 这个接口?还是直接写你第一段那种不需要 override
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2575 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:37 · PVG 09:37 · LAX 17:37 · JFK 20:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.