Retrofit基本使用

作者: YuanchaoLi | 来源:发表于2019-01-29 17:23 被阅读15次

导包

api 'com.squareup.retrofit2:retrofit:2.5.0' //Retrofit2所需要的包
api 'com.squareup.retrofit2:converter-gson:2.5.0' //ConverterFactory的Gson依赖包,也可指定其他解析方式
api 'com.squareup.retrofit2:adapter-rxjava2:2.5.0' //结合使用的rxjava2的依赖包

rxjava2的依赖包
api 'io.reactivex.rxjava2:rxandroid:2.1.0'
api 'io.reactivex.rxjava2:rxjava:2.2.6'
okHttp的依赖包
api 'com.squareup.okhttp3:okhttp:3.12.0'
Gson的依赖包
api 'com.google.code.gson:gson:2.8.5'

参数注解

  • @GET(): 注解在方法上,表示get请求,括号内为请求url
  • @POST(): 注解在方法上,表示Post请求,括号内为请求url
  • @PUT(): Put请求
  • @DELETE(): Delete请求
  • @Query(): get请求时,注解在方法中,注解后括号中是键,跟在后面的是值,将会以key=value的方式拼接在url后面
  • @QueryMap:get请求时,如果参数很多,可以将参数集成到map集合,用此注解在方法中传递
  • @Field(): Post请求时,注解在方法中,注解后括号中是键,跟在后面的是值,将每一个请求参数都存放至请求体中
  • @FieldMap:Post请求时,如果参数很多,可以将参数集成到map集合,用此注解在方法中传递
  • @Body:若Post请求参数有多个,可统一封装到一个类中,用此注解在方法中传递
  • @Path(): 注解在方法中,注解后括号中的是url上的占位符,跟在后面的是填充到url占位符上的字符串
  • @FormUrlEncoded():用于Post请求,将会自动将请求参数的类型调整为application/x-www-form-urlencoded
  • @Multipart(): 用于Post请求,上传
  • @Part(): 用于Post请求,注解在上传的方法中,上传的参数
  • @Headers(): 添加许多请求头,括号内为请求头内容
  • @Header(): 添加一个请求头,有重名的将会覆盖

基本使用

  1. 创建请求方法

     public interface RequestService {
         @GET("users/{user}/repos")
         Observable<RequestResult> getDatas(@Path("user") String user, @Query("key") String value);
     }
    
  2. 创建Retrofit实例

     OkHttpClient okHttpClient = new OkHttpClient.Builder()
                 .connectTimeout(5, TimeUnit.SECONDS)
                 .readTimeout(5, TimeUnit.SECONDS)
                 .writeTimeout(5, TimeUnit.SECONDS)
                 .build();
    
     Retrofit retrofit = new Retrofit.Builder()
             .baseUrl("") //网络请求URL相对固定的地址
             .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) //与rxjava联合使用
             .addConverterFactory(GsonConverterFactory.create()) //gson解析返回值
             .client(okHttpClient) //使用OkHttp请求
             .build();
    
  3. 创建请求Api

     RequestService requestService = retrofit.create(RequestService.class);
    
  4. 发起请求

     Observable<RequestResult> observable = requestService.getDatas(user, value);
     observable.subscribe(Subscriber)......

相关文章

  • Retrofit2源码分析

    Retrofit源码分析基于2.4.0。 关于Retrofit的基本使用可以参照 Retrofit官网。 Retr...

  • Retrofit 2.0的封装与异常处理

    Retrofit 2.0的基本使用,网上教程很多,Retrofit 官方教程 定义接口 初始化Retrofit 调...

  • Retrofit基本使用

    Retrofit 作为Android和Java类型安全的HTTP客户端,记得刚毕业那会面试,面试官问我用过Retr...

  • Retrofit基本使用

    上一章节讲解了OkHttp的基本使用,这节就来看看Retrofit的基本使用调用的网址如下: Retrofit的单...

  • Retrofit基本使用

    Retrofit基本使用 内容 基础 接口配置 发送请求异步请求 && 示例一Convert && 示例二RxJa...

  • Retrofit基本使用

    Retrofit是由著名的 Square 公司开源的一个基于OkHttp实现网络请求的框架,以其简易的接口配置、强...

  • Retrofit基本使用

    导包 参数注解 @GET(): 注解在方法上,表示get请求,括号内为请求url @POST(): 注解在方法上,...

  • Retrofit2

    一、Retrofit2 GitHub:Retrofit2Demo 二、Retrofit2概念 三、使用 四、基本使...

  • Retrofit学习(二)

    之前的Retrofit学习(一)了解了一下Retrofit的最基本使用,不过目前最流行的Retrofit使用方式是...

  • Retrofit2网络框架的使用(二)扩展

    我们学习了Retrofit的基本使用后,我们知道Retrofit内部其实还是由Okhttp实现的,Retrofit...

网友评论

    本文标题:Retrofit基本使用

    本文链接:https://www.haomeiwen.com/subject/zpoxsqtx.html