Retrofit 使用流程

来源:互联网 发布:windows xp outlook 编辑:程序博客网 时间:2024/05/29 14:10

一、接口定义:

get 方法:

public interface ILoginService {
@GET("LoginDataServlet")
@Headers("Cache-Control: public, max-age=30")
Call<BaseResp<RegisterBean>> userLogin(@Query("username") String username, @Query("password") String password);
}

post方法:

@FormUrlEncoded
@POST("user/login.do")
Call<User> login(@Field("username") String userName, @Field("password") String password);

其中括号里定义的是接口地址,方法里的参数是要传的参数。
参数定义的格式有好几种,参考链接:http://blog.csdn.net/qq_15602525/article/details/51543429

二、创建Retrofit:

在创建Retrofit之前,先配置拦截器在okhttpclient对象中,然后再配置转换器converter。如果不适用okhttp可以不用配置拦截器。(不要忘记配置接口的url)

mRetrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(mGson))
.client(mOkHttpClient)
.build();

三、使用:

首先创建service接口对象,就是第一步定义的对象,然后通过service对象得到一个call对象,接着通过call发出网络请求。
RequestSerives requestSerives = retrofit.create(RequestSerives.class);
Call<String> call = requestSerives.getString("userName", "1234"); //传入我们请求的键值对的值
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
Log.e("成功",response.body().toString());
}

@Override
public void onFailure(Call<String> call, Throwable t) {
Log.e("失败","失败");
}
});
Retrofit的整个使用过程就是这样,当然你也可以进行封装。Retrofit结合着okhttp、RxJava使用起来会更好!
若是想更好地理解Retrofit请阅读以下文章(链接):
https://daidingkang.cc/2016/06/17/Retrofit2-network-framework-parsing/
http://blog.csdn.net/Iamzgx/article/details/51607387(里面有一个dome写的很好!)
http://blog.csdn.net/qq_15602525/article/details/51543429
0 0
原创粉丝点击