美文网首页
Retorfit 基本用法

Retorfit 基本用法

作者: anonymous_6bb6 | 来源:发表于2020-04-26 16:28 被阅读0次

介绍

Retorfit 是一个 RESTFul 的 HTTP 网络请求框架的封装,底层连接网络的工作是由 OkHttp 来完成的。Retrofit 提供的是将网络请求接口化

使用

  1. 添加 Retorfit 库的依赖 官网
implementation 'com.squareup.retrofit2:retrofit:2.0.2'
  1. 创建描述网络请求的接口
public interface GetService {
    @GET("users/{user}/repos")
    Call<String> getRepos(@Path("user") String user);
}
  1. 创建Retrofit 实例
Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("xxxx.xxxx")
                .build();
  1. 创建网络接口实例
    GetService getAnswer = retrofit.create(GetService.class);
  2. 发送网络请求
Call call = getAnswer.getRepos("daniel");

同步

Call call = getAnswer.getRepos("daniel");
        try {
            call.execute();
        } catch (IOException e) {
            e.printStackTrace();
        }

异步

call.enqueue(new Callback() {
            @Override
            public void onResponse(Call call, Response response) {
            }
            @Override
            public void onFailure(Call call, Throwable t) {
            }
        });

API 讲解

接口注解
接口方法的注解和接口参数上的注解是用来指示如何来建立请求。Retrofit 库规定,每一个接口方法都要用注解来提供请求方式以及请求的相对路径。

1 网络请求方法

请求方法除了上述的@GET之外,还有@HTTP @POST @PUT @PATCH @DELETE @OPTIONS @ HEAD,而相对URL可以注解中指定出来@GET("users/list"),还可以在URL中指定查询参数@GET("users/list?sort=desc")
请求URL也是可以通过参数动态更新的,被替换的字符串需要用{}括起来,同时在参数中要用@Path(“”)来标记需要进行替换的参数

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

对于较为复杂的query参数,可以使用@QueryMap

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

接口方法同样可以用注解的方式声明请求体类型,用到的注解有
@FormUrlEncoded

@FormUrlEncoded
@POST("user/edit")
Call<User> updateUser(@Field("first_name") String first, @Field("last_name") String last);

其中参数用@Field("表单Key"), 后面的参数来表示Value

@Mutipart

@Multipart
@PUT("user/photo")
Call<User> updateUser(@Part("photo") RequestBody photo, @Part("description") RequestBody description);

参数需要用@Part来标记

3 网络请求参数

@Headers @Header(用于参数中) 用来添加请求头
@Field @ FieldMap用于添加表单数据到请求体中
@Part @PartMap 用于添加有文件上传的表单到请求体中
@Query @QueryMap生成URL上的表单数据

相关文章

  • Retorfit 基本用法

    介绍 Retorfit 是一个 RESTFul 的 HTTP 网络请求框架的封装,底层连接网络的工作是由 OkHt...

  • Retorfit源码学习

    Retorfit源码学习 一.什么是Retorfit 简单的来说Retorfit是封装到Okhttp的一个网络请求...

  • 定时器

    setTimeout和clearTimeout基本用法 setInterval和clearInterval基本用法...

  • 2019-11-16

    E战到底DAY14 SUMIF和SUMIFS函数 一.基本用法 SUMIF基本用法 SUMIFS基本用法 SUMI...

  • 11 - 动态数据绑定实现原理

    一、defineProperty 基本用法 1、基本写法: 2、参数 3、descriptor 参数的基本用法 1...

  • as 基本用法

    插件安装 plugin auto import 相当于 eclipse ctrl+o 或者as alt+enter...

  • 基本用法

    Installation 安装 npm install vue vue-server-renderer --sav...

  • 基本用法

    html css js

  • 基本用法

    本地与远程:push 命令会把本地仓库推送到远程仓库(比如gitbub,码云)在push之前要与某个远程仓库建立连...

  • 基本用法

    TensorFlow使用图(graph)表示计算任务,图中的节点被称为op。一个Tensor一般为一个类型化的多维...

网友评论

      本文标题:Retorfit 基本用法

      本文链接:https://www.haomeiwen.com/subject/lvndwhtx.html