配置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请求就完成了。
网友评论