Retrofit 自定义Converter 转换器

Retrofit 自定义Converter 转换器_第1张图片

@POST("mine/getDynamicInfo")

Observable getData(@Body JSONObject jsonObject);

//Observable getData(@Body JSONObject jsonObject);

//Observable getData(@Body String parameter );

我这面用的是Retrofit网络请求

当用@Body注解的时候("application/json; charset=UTF-8") 以json形式请求服务端,这两个方法都会触发


Retrofit 自定义Converter 转换器_第2张图片

对应的Type 其实就是@body注解里面的类型,我们可以进行判断type做我们想要的处理,


Retrofit 自定义Converter 转换器_第3张图片

这里Type就是我们的Observable getData(@Body JSONObject jsonObject),泛型的类型

我们就可以通过type进行判断转换我们想要的类型


Retrofit 自定义Converter 转换器_第4张图片


Retrofit 自定义Converter 转换器_第5张图片

对应了两个转化

@FormUrlEncoded

@POST("mine/getDynamicInfo")

Observable getString(@Field("page") String page);

这样写的话其实就是表单形式请求服务端

这样的话 

requestBodyConverter() 这个方法不会触发 只会触发responseBodyConverter()这个回掉方法

比较简单的说明下 

你可能感兴趣的:(Retrofit 自定义Converter 转换器)