美文网首页
Retrofit2 基本用法示例01

Retrofit2 基本用法示例01

作者: InitialX | 来源:发表于2018-07-02 23:22 被阅读24次

    感谢怪盗Kidou的Retrofit2专题:https://www.jianshu.com/p/308f3c54abdd,费曼成自己的版本。

    import java.io.IOException;
    import okhttp3.ResponseBody;
    import retrofit2.Call;
    import retrofit2.Callback;
    import retrofit2.Response;
    import retrofit2.Retrofit;
    import retrofit2.http.GET;
    import retrofit2.http.Path;
    
    public class DemoRetrofit01 {
        public interface JianshuService {
            @GET("u/{id}") //这里的{id} 表示是一个变量
            Call<ResponseBody> getBlog(/** 这里的id表示的是上面的{id} */@Path("id") int id);
        }
    
        public static void main(String[] args) throws IOException {
            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl("https://www.jianshu.com/u/")
                    .build();
    
            JianshuService service = retrofit.create(JianshuService.class);
            Call<ResponseBody> call = service.getBlog(8c7aebbcc5b1);
            // 用法和OkHttp的call如出一辙
            // 不同的是如果是Android系统回调方法执行在主线程
            call.enqueue(new Callback<ResponseBody>() {
                @Override
                public void onResponse(
                        Call<ResponseBody> call, Response<ResponseBody> response) {
                    try {
                        System.out.println(response.body().string());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
    
                @Override
                public void onFailure(Call<ResponseBody> call, Throwable t) {
                    t.printStackTrace();
                }
            });
        }
    }
    

    相关文章

      网友评论

          本文标题:Retrofit2 基本用法示例01

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