//调用接口的 方法获取call对象,此时只是获取了http请求信息的封装独享,就是Call对象//当时此时还未执行http请求
Call<User> useOrder = stuApi.getOrder();
/**Response<User> response = useOrder.execute();
User user = response.body();
tv.setText(user.nickname);
//以上的代码会阻塞UI线程,因此不能在安卓的主线程中调用,不然会面临NetworkOnMainThreadException。如果你想调用execute方法,请在后台线程执行。**///异步执行业务方法
useOrder.enqueue(new Callback<User>() {
@OverridepublicvoidonResponse(Call<User> call, Response<User> response) {
//response就是响应结果的封装对象
User body = response.body();
tv.setText(body.nickname+body.gender);
}
@OverridepublicvoidonFailure(Call<User> call, Throwable t) {
tv.setText(t.getMessage());
}
});
}
6.使用POST注解
//使用POST注解,进行post请求,登录的接口,提交key-value数据@FormUrlEncoded//如果没有这句会报错@Field parameters can only be used with form encoding@POST("login")
Call<People> login(@Field("username")String p1,@Field("password")String p2);