Retrofit的简单实用,配置okhttpclient
2017-06-06 20:47
316 查看
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; } }
相关文章推荐
- Android Retrofit 2.0 配置OkHttpClient
- Retrofit的简单封装--更方便的配置okhttp
- RxJava+Retrofit+OkHttp组合在网络请求中的简单配置
- Android Retrofit+okHttp简单配置
- 简单实用的.htaccess文件配置
- Postfix配置文档(简单实用)
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
- 浅谈LVS NET架构的简单配置和实用案例(三)
- filezilla 配置文件 在哪里?原来配置文件位置修改如此简单,绿色实用的方法
- 简单实用nginx 配置 本机 虚拟主机 windows 下的。
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
- server.xml实用简单配置
- CentOS 6.5 yum安装配置lnmp环境,简单实用
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
- 最简单实用的MongoDB安装教程:在CentOS中使用 yum 安装MongoDB及服务器端配置详解
- ubuntu下配置安装jdk1.6实用简单方法详解
- 最简单实用的MongoDB安装教程:在CentOS中使用 yum 安装MongoDB及服务器端配置详解
- 在asp.net中使用FCKeditor,简单实用配置。
- 简单maven实用配置
- Redis:安装、配置、操作和简单代码实例(C语言Client端)