java okhttp包的类特点
1、开始使用这个包时候不习惯,觉得api用起来很别扭,不管是Request okhttpClient formBody只要是设置啥,就必须使用类里面的Builder类,然后一个方法接受一个参数,不停地调用每一个方法来接受一个参数进行属性设置,之前的py requests都是一个方法接受完各种参数就了事了。
2、OkHttpClient类两个构造方法。默认构造方法调用下面的有参构造方法,可以传一个构造好的Builder的实例到OkHttpClient类进行实例化。
但一般是OkHttpClient.Builder().funa(xx).funb(yy).func(zz).build()的方式来得到一个OkHttpClient.类型的实例。
Builder类是OkHttpClient类里面的一个静态类,所以才能用OkHttpClient.Builder()这种方式,然后就是用Bulider类里面的方法进行各种设置了。能连续的进行.funa(xx).funb(yy).func(zz)这种链式操作,是他在设置属性后,还返回了自身(this)。进行了OkHttpClient.Builder().funa(xx).funb(yy).func(zz)这一系列操作后得到的是一个Bulider类的实例,这还不是OkHttpClient类的实例。最后执行builder实例的buid()方法,把自身传到OkHttpClient的构造方法了,这才得到的是OkHttpClient的实例。
3、okhttp这个包里面的各个类基本都是有个类中类Builder,然后调用Bulider的各种方法进行设置,最后执行build,把builder实例自身传到Builder的上级类的构造方法。只有大致搞清楚了才能好好的调用他的api,不然会不知道到了哪一步得到的是什么类型的实例了,和为什么可以连续链式操作。
Bulider类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」