Retrofit
二、Retrofit
retrofit使用步骤
①创建接口服务类:baseURL和方法,添加依赖
implementation'com.squareup.retrofit2:retrofit:2.5.0'
②创建retrofit对象
Retrofit retrofit =new Retrofit.Builder()
.baseUrl(ApiServer.base_url)
.build();
③通过retrofit对象获取接口服务对象
ApiServer apiServer = retrofit.create(ApiServer.class);
④接口服务对象调用自己的方法
Call call = apiServer.get2(参数,参数,参数);
⑤通过call执行请求
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
try {
String string = response.body().string();
}catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call call, Throwable t) {
}
});
注解代码 请求格式
请求方式:
@GET GET请求
@POST POST请求
@DELETE DELETE请求
@HEAD HEAD请求
@OPTIONS OPTIONS请求
@PATCH PATCH请求
请求头:
@Headers("K:V") 添加请求头,作用于方法
@Header("K") 添加请求头,参数添加头
@FormUrlEncoded 用表单数据提交,搭配参数使用
@Stream 下载
@Multipart 用文件上传提交 multipart/form-data
请求参数:
@Query 替代参数值,通常是结合get请求的
@QueryMap 替代参数值,通常是结合get请求的
@Field 替换参数值,是结合post请求的
@FieldMap 替换参数值,是结合post请求的
请求路径:
@Path 替换路径
@Url 路径拼接
请求体:
@Body(RequestBody) 设置请求体,是结合post请求的
文件处理:
@PartMultipart.Part
@Part("key")RequestBodyrequestBody(单参)
@PartMapMap<String,RequestBody>requestBodyMap(多参)
@BodyRequestBodyrequestBody(自定义参数)