retrofit的简单笔记

来源:互联网 发布:杨梅红美校评价 知乎 编辑:程序博客网 时间:2024/06/01 07:43
1、retrofit中RxJave
2、retrofit的请求注解
1)@GET("api/data/Android/10/{page}") Call<GankBean> getAndroidInfo(@Path("page") int page);
2)@GET("onebox/weather/query?") Call<WeatherDataBean> getWeather(@QueryMap Map<String, String> params);
map用key和键值对对应凭借就行了
3)@GET("onebox/weather/query?cityname=深圳") Call<WeatherDataBean> getWeather(@Query("key") String key);
拼接成http://op.juhe.cn/onebox/weather/query?cityname=深圳&key=您申请的KEY类似这种的
4) @POST("user/new") Call<Result> postUser(@Body User user);
@POST("user/edit")Call<Result> editUser(@Field("id") int id, @Field("name") String name);
post请求参数的两种方式
5)@Headers("Cache-Control: max-age=640000")@GET("widget/list")Call<List<Widget>> widgetList();
带header的请求方式
3、Rxjava链式请求方法
api.loginForRX(new User("liuguilin", "748778890")).flatMap(new Func1<User,Observable<User>>() { @Override public Observable<User> call(User user) { return api.getUser(user.getUser_id());//第一请求的成功回调是第二个请求 }}).subscribe(new Action1<User>() { @Override public void call(User user) { Toast.makeText(MainActivity.this, "name:" + user.getName(), Toast.LENGTH_SHORT).show(); }//第二请求的成功回调});
注意:baseUrl必须是“/”结尾,并且只能是域名或者ip和端口名

参考文章:http://blog.csdn.net/qq_26787115