使用假设而不是RestTemplate有什么优缺点

时间:2017-10-23 07:52:26

标签: spring-boot spring-cloud resttemplate spring-cloud-feign

我知道Feign是声明性的,因此它为开发人员提取了很多东西。但是,何时应该选择一个而不是另一个?虽然假装是声明性的,但它与oAuth存在严重问题。使用RestTemplate而不是Feign的一些注意事项

3 个答案:

答案 0 :(得分:1)

Feign使您可以抽象化调用REST服务的机制。一旦配置并注释了Feign接口,就可以通过进行简单的Java函数调用来调用REST服务。进行REST调用的实际实现由Feign在运行时处理。这意味着可以在不更改业务逻辑代码的情况下配置实现。

只需更改Java中的Feign配置或使用属性,就可以添加编码/解码,日志记录,并更改REST调用实现库。所有这些仅通过配置完成,而调用服务的业务逻辑保持不变。由于Feign使用标准Java接口,因此在单元测试期间也很容易模拟它们。

答案 1 :(得分:0)

Feign相比,使用RestTemplate的优点之一是,我们不需要编写任何实现即可调用其他服务。所以没有 需要编写任何单元测试,因为首先没有要测试的代码。但是,建议我们编写集成测试。

答案 2 :(得分:0)

有某些优点。

1.URL未被硬编码。

2。不必为冒充而编写单元测试用例,因为没有要测试的代码,但是必须编写集成测试。

3。我们可以使用Eureka Client ID代替URL。

4.Feign处理了实际的代码。

5.Feign自动与Ribbon和Eureka集成。

6.Feign提供了一种非常容易的方法来调用RESTful服务。