Retrofit——API配置

今天讲Retrofit的配置,讲Converters,


Retrofit类是一个通过你的API接口传入一个回调对象来得到网络请求返回结果的。默认情况,Retrofit将提供默认的配置,但是,它也可以自定义配置。


转换器

默认,Retrofit仅能反序列化HTTP的body到OkHttp的ResponseBody类型中,并且只能接受@Body的RequestBody类型。

Converters转换器能增加支持其它类型。六种同族模块适配器,提供方便的序列化库。

  • Gson: com.squareup.retrofit2:converter-gson
  • Jackson: com.squareup.retrofit2:converter-jackson
  • Moshi: com.squareup.retrofit2:converter-moshi
  • Protobuf: com.squareup.retrofit2:converter-protobuf
  • Wire: com.squareup.retrofit2:converter-wire
  • Simple XML: com.squareup.retrofit2:converter-simplexml
  • Scalars (primitives, boxed, and String): com.squareup.retrofit2:converter-scalars

下面是一个使用GsonConverterFactory类,通过使用Gson来反序列号,来生成一个GitHubService接口实现的例子。

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.github.com")
    .addConverterFactory(GsonConverterFactory.create())
    .build();

GitHubService service = retrofit.create(GitHubService.class);


自定义转换器

如果你需要和一个使用内容格式化,并且Retrofit不支持这种格式的API通讯,比如YAML、txt、或其它自定义,或者你希望使用一个不同的库来实现一个存在的格式,你可以很容易地创建你自己的converter转换器。创建一个继承Converter.Factory类,并在创建你的适配器的时候传递这个类的一个实例,就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值