当响应附带 Retrofit 映射到带有 Gson 的模型时,如果设置接收到的值,我喜欢计算一个字段。
当返回 accessToken 的响应时,它看起来像这样:
public class UserTokenResponse {
@SerializedName("access_token")
@Expose
private String accessToken; //v^1.1#i^1#r...
@SerializedName("expires_in")
@Expose
private long accessTokenExpiresIn; //7200
//Constructor... setter ... getter
}
这里的问题是字段accessTokenExpiresIn 7200。我喜欢这样计算:
public UserTokenResponse (...) { //Constructor
this.accessTokenExpiresIn = System.currentTimeMillis() +
(accessTokenExpiresIn * 1000L);
}
这样就会变成一个Unix时间戳,实际过期的毫秒数。但由于未调用构造函数,该字段将为 7200.