Retrofit2 浅尝辄止(1):初来乍到,Get请求来一套

配置Gradle


compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'

这里我们需要将请求回来的数据直接转化为实体,恰巧官方提供了gson的转换库,因此我们在依赖retrofit的同时,也要依赖converter-gson。在以后的文章里我会着重说一下这个converterFactory,它其实类似于一个插件集成器,通过它,我们可以集成各种工具来解决我们开发过程中的问题以及实现需求。
<br />
废话不多说,让我们快速实现一个普通的get请求。

开始一个简单请求


创建一个简单的bean

这里假设我们要请求apistore上的名人名言接口,因此我们创建了一个FamousInfo的bean

初始化Retrofit

<pre>

.baseUrl("http://apis.baidu.com/")
.addConverterFactory(GsonConverterFactory.create())
.build();```</pre>


#### 创建一个接口
<pre>
```public interface FamousService {  
    @GET("/avatardata/mingrenmingyan/{path}")
    Call<FamousInfo> getFamousResult(@Path("path") String path, 
    @Header("apiKey") String apiKey,
    @Query("keyword") String keyword,
    @Query("page") int page, 
    @Query("rows") int rows);
}```</pre>

####初始化这个接口的对象

<pre>

Call<FamousInfo> callback =retrofit.create(FamousService.class)
.getFamousResult(path,apiKey,page,rows)}


####使用这个对象获取请求结果

<pre>

callback.enqueue(new Callback<FamousInfo>{
@Override
public void onResponse(Call<FamousInfo> call, Response<FamousInfo> response) {
FamousInfo bean = response.body();
}
@Override
public void onFailure(Call<FamousInfo> call, Throwable t) {
Toast.makeText(context,t.toString,Toast.LENGTH_SHORT).show();
}
});```
</pre>

这样一个简单的get请求就完成了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 如果看Retrofit的源码会发现其实质上就是对okHttp的封装,使用面向接口的方式进行网络请求,利用动态...
    李某人吖阅读 6,296评论 0 0
  • 什么是Retrofit2 Retrofit是一个给Android和Java用的类型安全的HTTP客户端,它将网络请...
    不羁的木木阅读 4,849评论 0 49
  • 本博客为作者原创,如需转载请注明原博客出处:WONDER'TWO 0X00 写在前面 相信做过And...
    一只酸奶牛哇阅读 9,819评论 9 34
  • 写在前面## 其实一直都没有写博客的习惯,借着这次公司内部分享的机会,开始写博客,希望以后渐渐养成习惯。也方便以后...
    seph_von阅读 4,363评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,308评论 19 139