Android技术知识Android开发经验谈Android开发

Retrofit使用总结

2018-12-27  本文已影响13人  奔跑吧李博
引入库:
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
使用方式:
1.不带参数get请求:
@GET("dynamic/comment/comment")
Call<BaseBean> getData();
2.带参数get请求:
@GET("dynamic/comment/comment")
Call<BaseBean> getData(@Query("id") int id);
3.url带参数get请求:
@GET("dynamic/comment/{userName}/comment")
Call<BaseBean> getData(@Path("userName") String userName);
4.不带参数post请求:
@POST("dynamic/comment/comment")
Call<BaseBean> getData();
5.带参数post请求:需加入FormUrlEncoded注解
@FormUrlEncoded
@POST("dynamic/comment/comment")
Call<BaseBean> getData(@Field("userId") String userId,@Field("videoId") String videoId);
6.带header的post请求:
@FormUrlEncoded
@Headers("token:eyJhbGciOiJSUzI1NiVzZXIiLCJhdWQiOiJ7mI44kkb3t3jVDzxfwGRFjKSIKVNZCS5VuA")
@POST("dynamic/comment/comment")
Call<BaseBean> getData(@Field("userId") String userId,@Field("videoId") String videoId,@Field("content") String content,@Field("grade") String grade);

其他的PUT,DELETE方法使用相同,只是方法类型不同。

Retrofit使用创建:

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(baseUrl)
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                .build();

默认情况只能将请求结果转化为ResponseBody
需要转为自定义的Bean类,需要添加
.addConverterFactory(GsonConverterFactory.create())
否则,会报转化不合法异常

屏幕快照 2018-10-31 上午9.21.09.png 屏幕快照 2018-10-31 上午9.21.39.png
上一篇下一篇

猜你喜欢

热点阅读