我有MongoDB的后端回环实例,并定义了已嵌套(匿名)模式称为“位置”的属性模型:嵌套模型
"name": "thing",
"plural": "things",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"title": {
"type": "string",
"required": true
},
"description": {
"type": "string"
},
"location": {
"lat": {
"type": "string"
},
"lng": {
"type": "string"
}
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
在我的Android项目,我正在使用loopback sdk将所有“thing”模型获取到从loopback模型类扩展的thing.java类的实例中。
ThingRepository repository = restAdapter.createRepository(Thing.class);
repository.findAll(/* callback code ommitted */)
public class Thing extends Model {
private String id;
private String title;
private String description;
private Location location;
/* getters/setters removed */
}
当我从服务器获取所有的“东西”,他们都看起来很好,除了嵌套的“位置”总是空。我已经证实,我可以从环回的REST apis中获取东西,正确填充位置。但似乎回环客户端不会反序列化并填充'位置'。 “位置”是一个简单的java类,只有2个整数(lat和long)。我试图将它从'Model'扩展,但它仍然会返回为null。
public class Location extends Model {
private String lat;
private String lng;
/* getters/setters removed */
}
任何想法?
非常感谢您的信息,我认为您是对的。我会稍后再打开它,然后将答案设置为解决方案。 –
我增加了一个更简单的解决方案 – Overdrivr