Retrofit笔记 | 简析官方API文档(结合示例代码)

简介: Retrofit笔记 | 简析官方API文档(结合示例代码)
  • 其思想,类似于ListView、RecycleView的适配器(负责把布局和数据进行整合,然后渲染出来)
  • 创建一个Client交给它,它会帮我们去调用请求网络;默认使用OkHttpClient;

官方文档简阅

  • Retrofit会自动把返回数据转换成Call<List<Repo>><List<Repo>>位置类型的值;例如:
@GET("user/{id}")
    Call<User> getUserInfoWithPath(@Path("id") int user_id);

<List<Repo>>对应的位置类型就是User
所以上面这个Call方法 返回的就是一个User类型的实例
所以省去了我们用Gson解析的步骤:

private Api api;
---
User user = api.getUserInfoWithPath(1).execute().body();
  • Call<List<Repo>>随后的listRepos是方法名,

由开发者自定义,如以上实例代码中的getUserInfoWithPath()

  • 再往后是@Path("user")

这部分同注解("users/{user}/repos")中的{user}相对应,
指定的是通过什么字段去服务端Get

如示例代码中@GET("user/{id}")中的{id}就和@Path("id")相对应,
指定了方法getUserInfoWithPath()是通过id字段去服务端获取(GET)数据的,
例如User user = api.getUserInfoWithPath(1).execute().body();
聚焦getUserInfoWithPath(1)
就是到服务端查询到id字段是1User类数据,
查到之后就返回到客户端,
转化成一个id字段为1User类实例;
(也就是通过id字段去Get数据)

  • 再往后就是指定@Path("user")"user"数据类型了,

如以上String userint user_id

  • **定义完以上接口之后,

创建一个Retrofit类实例,
通过这个Retrofit实例创建一个方才定义的接口的代理实例

接口的代理实例编写语句类似于普通class的声明,
但是它事实上并不同于class声明那样子声明出一个实在的对象
而仅仅是一个接口代理对象(如下图的service)而已,
不是一个实实在在的接口对象
(我们知道接口一般是没有实例对象的)**


  • 接着通过方才创建出来的接口代理实例去调用Call<List<Repo>>随后的由开发者自定义的请求方法listRepos方法,

如以上实例代码中的getUserInfoWithPath()

即可:然后返回结果;

以上可以归结为三个步骤,示例代码如下:

//1. 定义对应 HTTP API的 Java接口
public interface Api {
    @GET("user/{id}")
    Call<User> getUserInfoWithPath(@Path("id") int user_id);
}

---
private Api api;

---
//2. 创建 Retrofit实例,通过该实例创建接口代理实例
      Retrofit retrofit = new Retrofit.Builder()
              .baseUrl("http://192.168.1.189:5000/")
              .addConverterFactory(GsonConverterFactory.create())
              .build();

      api = retrofit.create(Api.class);

---
//3. 通过接口代理实例调用自定义的请求方法,得到返回结果
User user = api.getUserInfoWithPath(1).execute().body();

其他API文档

  • 关于请求方法:
  • manipulation 操作,操控;
  • 把一个User实例转换成json形式进行提交(Post)
  • 表单(form)形式提交:
  • 多种类型数据提交:
  • 添加请求头部:
  • **Retrofit默认将HTTP bodies转化成OkHttpResponseBody

另外我们可以给Retrofit配置数据默认的转换框架
例如Gson(从这点看,Retrofit适配器):**





参考自 菜鸟窝

相关文章
|
2月前
|
人工智能 安全 架构师
告别旅行规划的"需求文档地狱"!这个AI提示词库,让你像调API一样定制完美旅程
作为开发者,旅行规划如同“需求地狱”:信息碎片、需求多变、缺乏测试。本文提出一套“企业级”AI提示词库,将模糊需求转化为结构化“API请求”,实现标准化输入输出,让AI成为你的专属旅行架构师,30分钟生成专业定制方案,提升决策质量,降低90%时间成本。
445 129
|
24天前
|
JSON API 数据格式
小红书API接口文档:笔记详情数据开发手册
小红书笔记详情API可获取指定笔记的标题、正文、互动数据及多媒体资源,支持字段筛选与评论加载。通过note_id和access_token发起GET/POST请求,配合签名验证,广泛用于内容分析与营销优化。
|
24天前
|
JSON 监控 API
小红书笔记评论API:一键获取分层评论与用户互动数据
小红书笔记评论API可获取指定笔记的评论详情,包括内容、点赞数、评论者信息等,支持分页与身份认证,返回JSON格式数据,适用于舆情监控、用户行为分析等场景。
|
3月前
|
JSON API 数据格式
小红书笔记详情API响应数据解析
小红书笔记详情API可获取笔记核心数据,适用于内容分析与竞品监测。支持HTTP GET/POST请求,返回JSON格式数据,包含笔记标题、互动数据及作者信息。文档提供Python请求示例,建议添加异常重试机制,助力品牌营销与用户行为分析。
|
2月前
|
数据采集 缓存 API
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)
本文详解小红书笔记详情API的开发对接、实战场景与收益模式,涵盖注册避坑、签名生成、数据解析全流程,并分享品牌营销、内容创作、SAAS工具等落地应用,助力开发者高效掘金“种草经济”。
小红书笔记详情 API 实战指南:从开发对接、场景落地到收益挖掘(附避坑技巧)
|
3月前
|
JSON 搜索推荐 API
小红书笔记列表API数据解析(附代码)
本内容介绍如何利用小红书开放平台的笔记列表API,批量获取与关键词或用户相关的笔记数据,包括标题、封面图、互动数据等。接口支持按关键词分页查询及排序筛选,适用于内容聚合与用户分析。附Python示例代码,演示通过GET请求调用API的方法,并处理返回的JSON数据。
|
3月前
|
JSON API 数据格式
小红书笔记详情API数据解析(附代码)
本内容介绍了小红书开放平台的笔记详情API接口功能,涵盖笔记标题、内容、互动数据及多媒体资源的获取方式。提供接口概述、请求方式及Python调用示例,适用于内容分析与营销策略优化,帮助开发者高效集成与使用。
|
3月前
|
数据采集 监控 搜索推荐
小红书电商 API 助力,小红书平台电商笔记营销效果量化
在数字化营销时代,小红书凭借用户生成内容推动电商转化,但营销效果常因数据碎片化难以衡量。本文探讨如何借助小红书电商 API,精准量化曝光量、点击率、转化率等关键指标,提升营销效率与投资回报率。
93 1
|
3月前
|
JSON API 数据格式
小红书笔记详情API,json数据返回
以下是一个模拟的小红书笔记详情的JSON数据返回示例,包含了笔记的基本信息、作者信息、内容、图片、标签以及互动数据(点赞、评论、收藏)等关键字段:
|
3月前
|
JSON 数据挖掘 API
小红书笔记评论API数据解析(附代码)
本资源介绍如何通过小红书官方API获取笔记评论数据,包含评论内容、用户信息、点赞数等关键字段。支持分页请求,适用于舆情分析、用户研究及市场调研。提供完整Python调用示例,涵盖请求签名、响应解析等核心流程,助力高效获取结构化评论数据。