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适配器):**





参考自 菜鸟窝

相关文章
|
4月前
|
API
阿里云短信服务文档与实际API不符
阿里云短信服务文档与实际API不符
|
17天前
|
开发框架 数据可视化 .NET
.NET 中管理 Web API 文档的两种方式
.NET 中管理 Web API 文档的两种方式
33 14
|
16天前
|
API 开发者
通义灵码 API 开发文档自动生成场景DEMO
通义灵码API开发文档自动生成场景DEMO展示了通过自定义指令,大模型能快速根据类代码生成Markdown格式的API文档。文档详细描述API的入参、出参,并可生成测试代码等示例,帮助开发者快速创建美观的API文档。
|
22天前
|
存储 JSON API
小红书获取笔记详情API接口的开发、应用与收益。
小红书笔记详情API采用Python与Django框架开发,使用MySQL数据库存储数据。接口通过HTTP GET请求获取笔记详情,返回JSON格式数据,包含笔记内容、作者信息、图片链接等。该API应用于小红书APP内笔记展示和互动功能,并支持第三方平台的内容整合与数据分析,提升用户体验与活跃度,促进品牌合作推广,优化平台运营效率,为平台带来显著收益。
92 1
|
2月前
|
存储 搜索推荐 API
小红书笔记详情API接口的开发、应用与收益
小红书笔记详情API接口为开发者、企业和内容创作者提供了获取平台丰富资源的通道。通过该接口,用户可以提取笔记的详细信息(如标题、正文、标签等),并应用于市场调研、竞品分析、内容创作、电商推荐等多个领域。这不仅有助于提升品牌影响力和优化用户体验,还能挖掘商业机会,促进内容创新,增强用户互动与社群凝聚力。总之,小红书笔记详情API接口为企业和个人在社交媒体领域探索新增长点提供了重要工具。
135 0
|
3月前
|
JSON API 开发者
淘系买家秀API接口系列,示例代码返回值说明
淘宝买家秀API接口是阿里巴巴旗下的淘宝平台提供的一种接口服务,允许淘宝商家或开发者通过编程方式获取并展示淘宝商品的买家秀信息,包括买家上传的图片、视频、评论等内容。以下是对淘宝买家秀API接口的详细介绍:
|
3月前
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####
|
5月前
|
JSON API 开发者
小红书 API 接口使用指南:笔记详情数据接口的接入与使用
小红书是一款广受喜爱的生活方式分享社交平台,涵盖旅行、美食等领域。其API允许开发者批量获取笔记内容、图片链接及用户互动数据,助力内容分析与营销策略优化。要使用API,需先注册开发者账号并通过认证获取密钥;随后依据官方文档构建与发送HTTP请求,最后处理JSON格式响应数据。整个过程中,请务必遵循平台使用条款,尊重用户隐私权。
|
6月前
|
存储 Linux API
Linux源码阅读笔记08-进程调度API系统调用案例分析
Linux源码阅读笔记08-进程调度API系统调用案例分析
|
6月前
|
Linux API
Linux源码阅读笔记07-进程管理4大常用API函数
Linux源码阅读笔记07-进程管理4大常用API函数