1.9 是无法终止请求的。...the request call.cancel(); 转换器 选择你需要的转换器 对比1.9提供默认的json转换器,Retrofit 2.x以后不在提供默认的转换器。...,根据你的需要,你可以通过gradle引用不同的扩展库: Gson: com.squareup.retrofit2:converter-gson:2.1.0 Moshi: com.squareup.retrofit2...:converter-moshi:2.1.0 Jackson: com.squareup.retrofit2:converter-jackson:2.1.0 SimpleXML: com.squareup.retrofit2...添加转换器到Retrofit对象 我们需要手动添加转换器到Retrofit对象上,使用addConverterFactory方法来添加一个ConverterFactory对象到Retrofit。
的时候设置,Call 中的 Call 为方法的返回值类型,ResponseBody 为方法的返回值类型的泛型。...就和有的妹子一样,见第一眼觉得不怎么样,但是处的时间长了,你就会发现她越来越漂亮,越看越美… Retrofit 可以灵活的配置各种转换器,转换器什么鬼?...通俗地讲,转换器的意思就是把一种数据类型解析并转换成另一种数据类型,现在不理解没关系,往后面看你就会明白,Retrofit支持的转换器有: Gson: com.squareup.retrofit2:converter-gson...Jackson: com.squareup.retrofit2:converter-jackson Moshi: com.squareup.retrofit2:converter-moshi Protobuf...首先在 Gradle 中添加依赖: implementation 'com.squareup.retrofit2:converter-gson:2.3.0' 接下来我们在创建Retrofit 对象的时候设置它的转换器
,BODY),默认BASIC。...如果方法的返回值类型为Retrofit.Response,则可以使用该适配器。 Retrofit自动根据方法返回值类型选用对应的CallAdapterFactory执行适配处理!...,则反射创建。...:converter-gson Jackson: com.squareup.Retrofit:converter-jackson Moshi: com.squareup.Retrofit:converter-moshi...支持通过retrofit.global-converter-factories配置全局数据转换器工厂,转换器工厂实例优先从Spring容器获取,如果没有获取到,则反射创建。
下面以自定义@Sign拦截注解为例进行说明。...如果方法的返回值类型为Retrofit.Response,则可以使用该适配器。 Retrofit自动根据方法返回值类型选用对应的CallAdapterFactory执行适配处理!...,则反射创建。...:converter-jackson Moshi(https://github.com/square/moshi/): com.squareup.Retrofit:converter-moshi Protobuf...配置全局数据转换器工厂,转换器工厂实例优先从Spring容器获取,如果没有获取到,则反射创建。
Call> repos = service.listRepos("octocat"); 定制数据类型转换器 Gson: com.squareup.retrofit2:converter-gson...Jackson: com.squareup.retrofit2:converter-jackson Moshi: com.squareup.retrofit2:converter-moshi Protobuf...); Retrofit使用扩展 自定义Gson类型转换器 /** { "resultcode":0, "resultmsg":"请求成功", "result":{} } */ public...> listRepos(@Path("user") String user); } 创建Retrofit实例 Retrofit retrofit = new Retrofit.Builder...ServiceMethod ServiceMethod的获取 /**Retrofit.java * 首先从serviceMethodCache缓存中获取,如果为null则创建 */ ServiceMethod
下面以自定义@Sign拦截注解为例进行说明。...如果方法的返回值类型为Retrofit.Response,则可以使用该适配器。 Retrofit自动根据方法返回值类型选用对应的**CallAdapterFactory执行适配处理!...,则反射创建。...:converter-gson Jackson: com.squareup.Retrofit:converter-jackson Moshi: com.squareup.Retrofit:converter-moshi...支持通过retrofit.global-converter-factories配置全局数据转换器工厂,转换器工厂实例优先从Spring容器获取,如果没有获取到,则反射创建。
下面以自定义@Sign拦截注解为例进行说明。...如果方法的返回值类型为Retrofit.Response,则可以使用该适配器。 Retrofit自动根据方法返回值类型选用对应的CallAdapterFactory执行适配处理!...,则反射创建。...:converter-gson Jackson: com.squareup.Retrofit:converter-jackson Moshi: com.squareup.Retrofit:converter-moshi...支持通过retrofit.global-converter-factories配置全局数据转换器工厂,转换器工厂实例优先从Spring容器获取,如果没有获取到,则反射创建。
:retrofit:2.0.0-beta4’ 请求范例 以淘宝的ip库请求为例 地址:http://ip.taobao.com/service/getIpInfo.php 请求参数:ip 请求方法:...get ---- 声明接口 public interface ApiControl { //@Query注解的作用理解为查询条件,这里表示需要查询的字段为ip //ResponseBody...(@Query("ip") String ip); } ---- 调用接口 //创建Retrofit实例 Retrofit retrofit = new Retrofit.Builder()...Moshi: com.squareup.retrofit2:converter-moshi Protobuf: com.squareup.retrofit2:converter-protobuf...的为例 添加依赖 compile ‘com.squareup.retrofit2:converter-gson:2.0.0-beta4’ 定义java bean public class IpInfo
retrofit: # 全局转换器工厂 global-converter-factories: - com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory...只有方法返回值类型为Retrofit.Response,才可以使用ResponseCallAdapterFactory。...组件支持通过retrofit.global-call-adapter-factories配置全局调用适配器工厂: retrofit: # 全局转换器工厂(组件扩展的`CallAdaptorFactory...建议:将CallAdapter.Factory配置成Spring Bean 数据转码器 Retrofit使用Converter将@Body注解的对象转换成Request Body,将Response Body...:converter-jackson Moshi: com.squareup.Retrofit:converter-moshi Protobuf: com.squareup.Retrofit:converter-protobuf
Response response = call.execute().body(); 异步请求:请求结果在主线程中回调,可以在onResponse()回调方法进行更新UI。...call.enqueue(Callback callback) 使用步骤: (1) 创建工程,添加jar: compile 'com.squareup.retrofit2:retrofit:2.0.0'...compile 'com.squareup.retrofit2:converter-gson:2.0.0' //这两个jar版本要一致,否则会有冲突 (2) 创建业务请求接口,具体代码如下 /**...(3)创建Retrofit对象 Retrofit retrofit = new Retrofit.Builder() .baseUrl(Constant.BASE_URL) .addConverterFactory...:converter-jackson:2.0.1′ Moshi: compile ‘com.squareup.retrofit2:converter-moshi:2.0.1′ Protobuf: compile
:retrofit:2.0.0-beta4’ 请求范例 以淘宝的ip库请求为例 地址:http://ip.taobao.com/service/getIpInfo.php 请求参数:ip 请求方法:...get ---- 声明接口 public interface ApiControl { //@Query注解的作用理解为查询条件,这里表示需要查询的字段为ip //ResponseBody...(@Query("ip") String ip); } ---- 调用接口 //创建Retrofit实例 Retrofit retrofit = new Retrofit.Builder()... Moshi: com.squareup.retrofit2:converter-moshi Protobuf: com.squareup.retrofit2:converter-protobuf...的为例 添加依赖 compile ‘com.squareup.retrofit2:converter-gson:2.0.0-beta4’ 定义java bean public class IpInfo
implementation 'com.squareup.retrofit2:retrofit:2.9.0' //retrofit moshi implementation "...com.squareup.retrofit2:converter-moshi:2.6.2" //moshi used KotlinJsonAdapterFactory implementation...Retrofit一开始是支持Gson转换的,后面增加了MoShi的转换,Moshi拥有出色的Kotlin支持以及编译时代码生成功能,可以使应用程序更快更小。...import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import retrofit2.Retrofit import retrofit2...作为网络接口请求的地址头,然后构建了MoShi,通过MoShi去进行JSON转Kotlin数据类的处理,之后就是构建Retrofit,将MoShi设置进去,最后就是通过Retrofit创建一个网络请求服务
更多关于REST的介绍:什么是REST - GitHub讲解的非常详细 2.0与1.9使用比较 如果之前使用过Retrofit1,会发现2.0后的API会有一些变化, 比如创建方式,拦截器,错误处理,转换器等...Retrofit1中同步和异步执行同一个方法需要分别定义接口。 Retrofit1对正在进行的网络任务无法取消。...TimeUnit.SECONDS) .addNetworkInterceptor(authorizationInterceptor) .build(); 其中 level 为...默认情况下支持的converts有Gson,Jackson,Moshi… 要自定义Converter,需要先看一下GsonConverterFactory的实现, GsonConverterFactory...,这里返回builder是为了方便我们设置baseUrl的,我们可以动态创建多个api接口,当然也可以用@Url注解。
Retrofit介绍: Retrofit和okHttp师出同门,也是Square的开源库,它是一个类型安全的网络请求库,Retrofit简化了网络请求流程,基于OkHtttp做了封装,解耦的更彻底:比方说通过注解来配置请求参数...你可以使用不同的反序列化工具(Converter),比方说json, protobuff, xml, moshi等等。...:+' compile 'com.google.code.gson:gson:+' 创建一个service定义请求的接口 /** * service统一接口数据 * Created by WZG...interface HttpService { @POST("AppFiftyToneGraph/videoLink") Observable<RetrofitEntity getAllVedioBy(@Body...boolean once_no); } 创建一个retrofit对象 //手动创建一个OkHttpClient并设置超时时间 okhttp3.OkHttpClient.Builder builder
下面以给指定请求的url后面拼接timestamp时间戳为例,介绍下如何使用注解式拦截器。...下面以自定义@Sign拦截注解为例进行说明。...retrofit-spring-boot-starter扩展2种CallAdapterFactory实现: BodyCallAdapterFactory 默认启用,可通过配置retrofit.enable-body-call-adapter...如果方法的返回值类型为Retrofit.Response,则可以使用该适配器。 Retrofit自动根据方法返回值类型选用对应的CallAdapterFactory执行适配处理!...:converter-gson Jackson: com.squareup.Retrofit:converter-jackson Moshi: com.squareup.Retrofit:converter-moshi
使用介绍 使用 Retrofit 的步骤共有7个: 步骤1:添加Retrofit库的依赖 步骤2:创建 接收服务器返回数据 的类 步骤3:创建 用于描述网络请求 的接口 步骤4:创建 Retrofit...:2.0.2 Protobuf com.squareup.retrofit2:converter-protobuf:2.0.2 Moshi com.squareup.retrofit2:converter-moshi...库的依赖 步骤2:创建 接收服务器返回数据 的类 步骤3:创建 用于描述网络请求 的接口 步骤4:创建 Retrofit 实例 步骤5:创建 网络请求接口实例 并 配置网络请求参数 步骤6:发送网络请求...英译中为 EN2ZH_CN,中译英为 ZH_CN2EN,日译中为 JA2ZH_CN,中译日为 ZH_CN2JA,韩译中为 KR2ZH_CN,中译韩为 ZH_CN2KR,中译法为 ZH_CN2FR,法译中为...Retrofit对象 步骤5:创建 网络请求接口 的实例 步骤6:发送网络请求 以最常用的 异步请求 为例 步骤7:处理返回数据 PostRequest.java public class PostRequest
所以,成功创建了Retrofit的实例 总结 Retrofit 使用建造者模式通过Builder类建立了一个Retrofit实例,具体创建细节是配置了: 平台类型对象(Platform - Android...parameterTypes[p]; Annotation[] parameterAnnotations = parameterAnnotationsArray[p]; // 为方法中的每个参数创建一个...>对象并解析每个参数使用的注解类型 // 该对象的创建过程就是对方法参数中注解进行解析 // 这里的注解包括:Body、PartMap、Part、FieldMap、Field...根据返回值类型和方法标注从Retrofit对象的的网络请求适配器工厂集合和内容转换器工厂集合中分别获取到该方法对应的网络请求适配器和Response内容转换器; // 2....>对象 // 该对象保存有一个Request内容转换器——根据参数的类型从Retrofit的内容转换器工厂集合中获取一个Request内容转换器或者一个String内容转换器。
领取专属 10元无门槛券
手把手带您无忧上云