Java后端开发 — Forest、Feign、Retrofit区别

1. Forest和Feign的区别?

Feign和Forest都是基于注解的声明式HTTP框架,但封装程度和api接口风格不太相同
比如:Feign没有封装SSL证书验证、连接池、正向代理等功能,需要用于手动写代码提供OkHttp或Httpclient等框架的Client对象,而Forest是尽可能封装完整,以形成统一的屏蔽层,所以不要改代码就可以通过配置或注解随意切换OkHttp或Httpclient的底层HTTP框架

2. Forest和Retrofit区别?

Retrofit是一个老牌的HTTP框架,Forest和它一样都是通过声明式注解定义HTTP请求的框架,但也有些不同的地方:
(1)Retrofit底层固定是OkHttp,所以有些功能受到 OkHttp 本身的限制,比如发送一个带请求体的Get请求就难以做到,Forest可以切换OkHttp和Httpclient两个后端框架,所以可以很方便支持这种非标准请求(一个底层框架做不到就切换另一个)
(2)Forest提供的注解更丰富些,包括HTTP代理、文件下载、自定义重定向、自定义重试条件等功能注解,Retrofit当然也可以实现这些功能,但需要写更多代码
(3)Retrofit 支持 RxJava,Forest 目前还没有支持,而且Retrofit对Android支持的更好;Forest则是对Spring以及Springboot支持的更好一些,不过现在Retrofit也有第三方的集成Springboot的starter开源项目

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java后端可以使用Feign来进行远程服务调用。Feign是一个声明式的Web服务客户端,它使得编写Web服务客户端变得更加简单。通过使用Feign,我们可以像调用本地方法一样调用远程服务。 Feign的使用步骤如下: 1. 在pom.xml文件中添加Feign的依赖。可以通过引用中提供的博客文章来获取更详细的信息和使用示例。 2. 创建一个接口,使用@FeignClient注解指定要调用的远程服务的名称。 3. 在接口中定义需要调用的远程服务的方法,使用@GetMapping、@PostMapping等注解来指定请求的路径和方法类型,并定义方法的参数和返回值类型。 4. 在应用程序中使用@Autowired注解将Feign的接口注入到需要进行远程调用的类中。 5. 调用Feign接口中定义的方法来实现对远程服务的调用。 引用中提到的反射机制可以获取private成员的值,这可以为Feign调用提供更灵活的方式。通过反射机制,我们可以获取和设置私有成员的值,以便在Feign调用中使用。具体的实现方法可以参考引用中提供的书籍。 另外,引用中提到了Java中的String不可变性。这意味着一旦创建了一个String对象,它的值就不能被修改。这种不可变性带来了一些好处,比如线程安全、缓存等。在使用Feign调用时,我们可以安全地传递和处理String参数或返回值,而不必担心被修改。 综上所述,Java后端可以使用Feign来进行远程服务调用,并且可以通过反射机制来获取private成员的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java后端真实面试题大全(有详细答案)--高频/真题](https://blog.csdn.net/feiying0canglang/article/details/121219272)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin&Amy

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值