Android实战——Retrofit2的使用和封装

使用项目的原话:Android和Java中类型安全的HTTP客户端
项目地址:https://github.com/square/retrofitgit

这里Retrofit还须要导入它的Gson依赖库,由于返回的数据须要Gson来处理github

一、Get请求
二、Post请求
三、单、多文件上传安全

演示提供的接口(该接口不支持post方式)服务器

get请求(支持普通请求)网络

get请求(支持键值对参数)工具

Post请求(支持键值对参数)post

Post请求(支持获取返回的字符串)code

Post请求(上传文件和参数)orm

Retrofit的请求是以REST请求方式发送请求的,因此工具的封装须要作两件事对象

  • 对REST请求的API进行封装
  • Retrofit自身的封装

因为咱们接口返回的JSON数据以下

因此这里须要对咱们须要解析的数据进行Bean对象的封装

Retrofit使用注解的方式来声明GET请求、POST请求、请求参数、请求头等进行的网络访问,下面是各个注解的表示的意思

  • Get请求相关

    • @Get:发送Get请求
    • @Query:Get请求参数
    • @QueryMap:Get请求Map参数
  • Post请求相关

    • @Post:发送Post请求
    • @FormUrlEncoded:采用表单的方式,通常与@Post共用
    • @Field:Post请求参数
    • @FieldMap:Post请求Map参数
  • Header请求相关

    • @Headers:发送Header信息
    • @Header:Header信息参数
    • @HeaderMap:Header信息的Map参数
  • Path请求相关

理解完意思以后,编写REST的API,其实就是请求接口,具体看下面的代码

Retrofit和okHttp同样,采用构造者模式建立,采用单例模式防止使用多个对象

上面代码作了三件事

  • 绑定请求URL
  • 采用GSON来处理返回的JSON数据
  • 建立并返回REST请求API接口iServer

下面就能够直接使用工具类拿到这个iServer,调用提供的接口方法

API接口的建立,好比说注册功能,须要上传两张身份证照片,这是我本身服务器的接口

  • @PartMap:表示参数的上传
  • @Part:表示文件列表

建立两个方法辅助PartMap和Part的建立

到这里,你就能够回过头去看下文章开头的演示部分,那里就是RetrofitUtils的使用

因为文件上传是我在作项目的时候用上的,工具类缺乏文件上传的内容,你们能够自行去拷贝代码

相关文章
相关标签/搜索