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开源项目

你可能感兴趣的:(Java后端开发面经,java)