Retrofit使用总结

作者: 奔跑吧李博 | 来源:发表于2018-12-27 16: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

    相关文章

      网友评论

        本文标题:Retrofit使用总结

        本文链接:https://www.haomeiwen.com/subject/odyptqtx.html