cod*_*ash 7 resttemplate spring-boot spring-cloud spring-cloud-feign
我知道Feign是声明性的,因此它为开发人员抽象了很多东西.但是,何时应该选择一个而不是另一个?虽然假装是声明性的,但它与oAuth存在严重问题.使用RestTemplate而不是Feign有哪些注意事项
Gon*_*n I 17
Feign 允许您抽象调用 REST 服务的机制。配置并注释 Feign 接口后,您可以通过进行简单的 Java 函数调用来调用 REST 服务。进行 REST 调用的实际实现是在运行时由 Feign 处理的。这意味着可以在不更改业务逻辑代码的情况下配置实现。
只需更改 Java 中的 Feign 配置或使用属性,您就可以添加编码/解码、日志记录和更改 REST 调用实现库。所有这一切仅通过配置完成,而调用服务的业务逻辑保持不变。由于 Feign 使用标准 Java 接口,因此在单元测试期间模拟它们也很容易。
Ali*_*ien 13
有一定的优势。
1.URL 不是硬编码的。
2.您不必为 feign 编写单元测试用例,因为没有要测试的代码,但是您必须编写集成测试。
3.我们可以使用Eureka Client ID代替URL。
4.Feign 处理实际代码。
5.Feign 自动与 Ribbon 和 Eureka 集成。
6.Feign 提供了一种非常简单的方式来调用 RESTful 服务。
小智 7
RestTemplate用于进行同步调用。使用 RestTemplate 时,以编程方式构造 URL 参数,并将数据发送到其他服务。在更复杂的场景中,我们将不得不了解 RestTemplate 提供的 HTTP API 的详细信息,甚至是更低级别的 API。
Feign是一个 Spring Cloud Netflix 库,用于为基于 REST 的服务调用提供更高级别的抽象。Spring Cloud Feign 遵循声明性原则。使用 Feign 时,我们在客户端编写声明式 REST 服务接口,并使用这些接口对客户端进行编程。开发人员无需担心实施...
使用Feignover的好处之一RestTemplate是,我们不需要编写任何实现来调用其他服务。因此无需编写任何单元测试,因为首先没有要测试的代码。但是,建议我们编写集成测试。
使用 Feign-clients 相对于 Rest-templates 有很多优点。我将在下面列出这些。
开发人员无需担心实施。只是创建抽象 Feign 接口和少量注释 - 声明性原则。(如果你想要自定义配置,那么它会保存一些代码)
使用 Spring Cloud Eureka,Ribbon 客户端负载均衡器将配备 Feign 客户端。
无需担心单元测试,因为您无需测试任何实现。(有争议)
支持Feign注释和JAX-RS注释。
与 Spring Cloud 高度兼容且易于配置(特别是 Eureka 服务器注册表)
允许通过 @Configuration 类或应用程序属性进行 Feign 客户端配置。
允许我们添加拦截器。(通过 @Configuration 或应用程序属性添加拦截器。或者也可以使用 Spring Cloud 提供的拦截器。示例 - BasicAuthRequestInterceptor)
Hystrix 支持后备机制。
记录
错误处理
Feign 是一个不错的选择,如果您对 JPA 及其解决查询的方式着迷,那么 Feign 就是适合您的工具。Feign 会完美地处理你的服务器请求。
| 归档时间: |
|
| 查看次数: |
2768 次 |
| 最近记录: |