Retrofit——A type-safe HTTP client for Android and Java(The first part)


一,介绍


   Retrofit将你的http接口API转换成项目中的一个java的接口。

public interface GitHubService {
  @GET("users/{user}/repos")
  Call<List<Repo>> listRepos(@Path("user") String user);
}


  Retrofit会自动为上面的Service生成一个实现类。


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

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

   每次调用的时候,创建的接口的实现类会产生一个异步或者同步的http请求到远程的web服务器上面。

Call<List<Repo>> repos = service.listRepos("octocat");

  使用注解的方式来描述http请求:
      1,支持url参数和查询参数
      2,对象转换成请求体,即对json对象的支持
      3,多种请求体,文件等也支持(翻译的好土气呀。。。安静

二,API声明


     使用接口上的方法注解和请求参数来说明一个请求时如何被处理的。

三,请求方法


      每个方法都必须有一个http注解来提供请求请求和相关联的URL。这里有五种支持的注解形式:GET,POST,PUT,DLETE,HEAD。相关的请求URL放在请求注解中。
  
@GET("users/list")


    同时,你也可以直接在URL中提供请求参数:

@GET("users/list?sort=desc")

四,URL操作


  请求参数能被动态更新---by方法中的占位符。一个请求块是用’{}‘——这个符号包围的。一个对应的参数必须被@Path注解,并且使用相同的参数名字。


@GET("group/{id}/users")
Call<List<User>> groupList(@Path("id") int groupId);

请求参数也能被添加:


@GET("group/{id}/users")
Call<List<User>> groupList(@Path("id") int groupId, @Query("sort") String sort);

例如,下面使用一个map来做栗子:


@GET("group/{id}/users")
Call<List<User>> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options);



    翻译了一部分,感觉上面的东西好像是外星人写的。。。宝宝会继续更的!希望能忍着翻译完,更希望看过的人不要打我。可怜














优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/240711

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。