Retrofit+okhttp3使用,附带源码解析

本文介绍了Retrofit和Okhttp在网络请求中的应用。Retrofit是一个用于创建网络请求的框架,而Okhttp是网络请求库,两者结合使用可以方便地处理同步和异步请求。文章详细讲解了如何配置依赖、构建Retrofit对象、添加Okhttp日志过滤器、构建Callback、理解各种注解以及发起请求的过程。此外,还提到了源码分析和最新的技术趋势,如Retrofit结合Okhttp、Moshi和Kotlin协程的使用。

一:认识Retrofit和okhttp3

Retrofit是由square 开发设计的 网络请求框架

官方网址:Retrofit

Okhttp 是由square 开发设计的 网络请求库,请求/响应API采用流畅的构建器和不变性设计。它同时支持同步阻塞调用和带有回调的异步调用

官方网址:Overview - OkHttp

这篇博客是网络请求的基础篇,使用Retrofit作为网络请求及响应的载体,了解Retrofit的注解,Okhttp的作用在于日志过滤,以及完善网络请求(比如超时处理,请求体处理等)

使用方法如下:

在app\build.gradle

1:依赖Maven库

dependencies {
    //retrofit2 okhttp3
    implementation "com.squareup.retrofit2:retrofit:2.9.0"
    implementation "com.squareup.retrofit2:converter-gson:2.9.0"
    implementation "com.squareup.okhttp3:logging-interceptor:4.7.2"
}

2:jar包依赖

     在官网下载

二:准备工作

免费的Json数据接口 :

1:构造Retrofit对象

        //构造retrofit,返回请求接口
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(baseUrl)
                .addConverterFactory(GsonConverterFactory.create())
                .client(builder.build())
                .build();
        service =  retrofit.create(BaseService.class);

2:添加okhttp日志过滤器

        //构造okhttp3,日志过滤
        HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(HttpLoggingInterceptor.Logger.DEFAULT);
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        if(BuildConfig.DEBUG){
            builder.addInterceptor(interceptor);
        
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sunbofiy23

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值