感谢怪盗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();
}
});
}
}
网友评论