2

Spring 与 Feign 的集成支持使用 Spring MVC 注释来映射 Feign 接口:

@FeignClient("multiplier")
public interface MultiplierApi {
    @GetMapping("/multiply")
    public Long multiply(@RequestParam("one") long one, @RequestParam("two") long two);
}

我可以将MultiplierApi接口放入 API 包中,并在客户端程序中使用它@EnableFeignClients并作为我的控制器的实现接口:

@RestController
public class MultiplierController implements MultiplierApi {
    public Long multiply(long one, long two) {
        return one * two;
    }
}

这似乎允许我删除控制器和客户端接口之间可能发生的重复,从而减少映射不同步的可能性。以这种方式共享 API 定义有什么缺点吗?

4

0 回答 0