0
我正在使用Spring for Android从无法访问对象中的任何函数的情况下向我的宁静服务器和gson请求数据到Converter json到Java objetct。
由于有一个json属性“user_id”,我想将这个保存为转换后的sqlite数据的主键。
问题是我的sqlite库定义了一个“mId”属性作为抽象类中的主键。并且gson convert没有使用“set function”来设置属性。 我唯一想要的就是把user_id转换为mId。如何在抽象类中使用RestTemplate和Spring for Android时设置属性
下面是代码:
1.抽象类来访问源码:
public abstract class Model {
protected Long mId = null;
public final Long getId() {
return mId;
}
public void setId(Long id){
mId = id;
}
public void saveToSqlite(){
//using mId;
}
}
2.An类宁静用户数据:
public class User extends Model implements Serializable{
private static final long serialVersionUID = 1L;
@SerializedName("user_id")
private Long userId;
public Long getUserId() {
return userId;
}
//this function is not accessed when user object generated
public void setUserId(Long userId) {
this.userId = userId;
this.setId(userId);
}
}
3.request并转换代码:
RestTemplate restTemplate = new RestTemplate();
GsonHttpMessageConverter jsonConverter = new GsonHttpMessageConverter();
restTemplate.getMessageConverters().add(jsonConverter);
final String url = "http://restful.test.com/users";
User[] users = restTemplate.getForObject(url, User[].class);
谢谢迪帕克,我已经尝试这样做。 this.setId(userId); 设置mId。但gson转换器不访问setUserId函数!所以未能解决这个问题。 – 2013-04-11 07:06:53
我假设你的意思是你会尝试这样做。让我们知道它是如何摆脱的。谢谢。 – 2013-04-11 07:08:56
我编辑我上面的评论。 – 2013-04-11 07:11:44