Skip to content

Retrofit ​

🔧 声明式 HTTP 客户端,基于 OkHttp,r0capture 通杀。

概述 ​

Retrofit 是 Square 的声明式 HTTP 客户端,底层用 OkHttp 做实际请求:

因为底层就是 OkHttp,所以 OkHttp 文档 的全部结论都适用。

调用栈特征 ​

at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall.execute(...)
at okhttp3.internal.connection.RealCall.execute(...)
at com.app.api.ApiService$Api.getUsers(ApiService.java)

栈里同时出现 retrofit2.* 和 okhttp3.*,是 Retrofit 的典型特征。

注解与序列化 ​

Retrofit 把接口方法注解(@GET/@POST/@Body/@Query)转成 OkHttp 请求。序列化(Gson/Moshi/Protobuf)发生在 OkHttp 调用之前——r0capture 抓到的是序列化之后的请求体。

  • Gson/Moshi:抓到 JSON 文本
  • Protobuf 转换器:抓到 Protobuf 二进制

相关文档 ​

基于 VitePress 构建 · 教学用途