【发布时间】:2015-09-23 00:11:23
【问题描述】:
我正在尝试转换这个看起来像这样的简单响应
{
"field_one": "bearer",
"field_two": "fgh",
"field_three": 0
}
我正在使用最新版本的 Retrofit 2.0.0-beta1。我以前从未使用过改造。有很多旧版 Retrofit 的教程和示例。我尝试了适用于旧版本的不同技术,但不适用于最新版本。由于缺少最新版本 Retrofit 的文档,我找不到解决方案。
我想使用最新版本。
这里是 POJO
public class Auth {
@SerializedName("field_one")
@Expose
private String fieldOne;
@SerializedName("field_two")
@Expose
private String fieldTwo;
@SerializedName("field_three")
@Expose
private Integer fieldThree;
// setter and getter etc. etc.
}
这是我正在使用的界面
interface Authorization {
@Headers("Authorization: This is some header")
@GET("api/v1/mytoken")
Call<Auth> getToken();
}
这就是我调用服务的方式
OkHttpClient client = new OkHttpClient();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://myendpoint.com/")
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
Authorization serviceAuthorization = retrofit.create(Authorization.class);
serviceAuthorization.getToken().enqueue(new Callback<Auth>() {
@Override
public void onResponse(Response<Auth> response) {
Log.d("Response", ">>> "+ response.toString());
}
@Override
public void onFailure(Throwable t) {
Log.d("fail", ">>> "+ t.getMessage());
}
});
我无法获得输出。它只是打印这个
Response: >>> retrofit.Response@2567e2c3
我想在稍后使用的 Auth Object 中获取数据。
请给我最好的解决方案
谢谢!
【问题讨论】:
-
你有什么问题?您收到编译器消息吗?运行时错误?
-
没有错误。我更新了我得到什么输出和我想要什么的问题