Retrofit的简单实用,配置okhttpclient

retrofit:
第一步:导入依赖
retrofit的依赖compile'com.squareup.retrofit2:retrofit:2.3.0'
Gson retrofit依赖compile'com.squareup.retrofit2:converter-gson:2.3.0'
第二步:写接口标注是get请求还是post请求
public interfaceGitHubApi {
@GET("type/{owner}/p/{repo}")
Call<Bean>getDate(@Path("owner") Integer owner,@Path("repo") Integer repo);
}
@get 表示get请求
@post表示post请求)
//网址的组成
http://IP+端口号+文件目录+请求参数
("type/{owner}/p/{repo}")
请求参数
写一个返回值是Call<Bean>的抽象方法,里面的参数
@path("owner") 参数的注解
Integer是参数的类型
owner是参数名
第三步:简单Retrofit使用
//初始化Retrofit
Retrofit retrofit =newRetrofit.Builder()
对于 Retrofit 2.0中新的URL定义方式,这里是我的建议:
- Base URL: 总是以 /结尾
- @Url: 不要以 / 开头
.baseUrl("http://api.expoon.com/AppNews/getNewsList/")
//添加Gson解析
//注意加依赖:compile'com.squareup.retrofit2:converter-gson:2.3.0'
.addConverterFactory(GsonConverterFactory.create())
.build();
//初始化接口API,这里就是接口的实例类
GitHubApi api = retrofit.create(GitHubApi.class);
Call<Bean> call = api.getDate(2,1);
//异步请求
call.enqueue(newCallback<Bean>() {
//请求成功的方法
@Override
public void onResponse(Call<Bean> call,Response<Bean> response) {
// Log.e("name", "getUsePath:" + response.body().getStatus());
}
//请求失败的方法
@Override
public void onFailure(Call<Bean> call,Throwable t) {

}
});


Retrofit配置Okhttpclient
//初始化Okhttpclient
OkHttpClientclient=newOkHttpClient.Builder().addNetworkInterceptor(newLoggingInterceptor()).build();
Retrofit retrofit =newRetrofit.Builder()
//加入OKhttpclient
.client(client)
.baseUrl("http://api.expoon.com/AppNews/getNewsList/")
.addConverterFactory(GsonConverterFactory.create())//加上这句话
.build();

//拦截器:
classLoggingInterceptorimplementsInterceptor {
@Override
publicokhttp3.Responseintercept(Chain chain)throwsIOException {
Request request = chain.request();
//获得所有的请求头
Headers headers = request.headers();
for(inti =0;i < headers.size();i++) {
Log.e("MainActivity","name"+ headers.name(i) + headers.value(i));
}
//继续传递拦截的结果
okhttp3.Response response = chain.proceed(request);
returnresponse;
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值