只是使用 feign,未使用 eureka 来注册服务。
昨天我刚刚开始学 feign 时,网上找的例子,是把 feign 接口定义在服务提供者这边,然后消费者引入这个接口注入来使用。这种比较类似于 dubbo rpc 接口。
今天我找了个例子又发现服务提供者只暴露 http 接口出来(也就是说只要是 http 接口都可以转成 feign 接口),feign 接口是消费者那边使用时再写的。
请问实际使用中,如果不使用注册中心,interface 是定义在什么地方?
如果使用 eureka,feign interface 该是服务提供者这边对应给出吗?
是不是我应该一开始就去官网找 demo 的...
1
yeqizhang OP 破案了,搞清楚 feignclient 的 value name url 就大概明白了
|
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); } ``` |
3
yeqizhang OP @nullllllllllllll 我搞清楚了,网上例子有直接类里写服务地址,还有不使用注册中心时自定义服务名,在配置文件中给 ribbon 配服务地址。
现在还没搞清楚的,要不要独立一个模块出来写 feignclient 接口?服务提供者那边的 controller 有没有必要 implements 这个接口?还是直接写你第一段那种不需要 override |