gpt4 book ai didi

android - Loopback Android SDK 中的嵌套模型

转载 作者:可可西里 更新时间:2023-11-01 09:50:39 27 4
gpt4 key购买 nike

我有一个带有 MongoDB 后端的环回实例,并且定义了一个模型,该模型具有一个名为“location”的嵌套(匿名)模型作为属性:

  "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 将所有“事物”模型提取到从 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 */
}

当我从服务器获取所有“事物”时,它们看起来都很好,除了嵌套的“位置”始终为空。我已经验证我可以从 loopback 的 REST api 中获取事物,并且位置正确填充。但似乎环回客户端不会反序列化和填充“位置”。 “位置”是一个简单的 java 类,只有 2 个整数(纬度和经度)。我也尝试过让它从“模型”扩展,但它仍然返回为 null。

public class Location extends Model {
private String lat;
private String lng;
/* getters/setters removed */
}

有什么想法吗?

最佳答案

This functionnality does not seem to be supported at the moment.

We should hopefully get this for free once we replace our hand-written JSON parser with a proper library supporting custom annotations

与此同时,一个简单的解决方案是创建一个 location 模型,添加一个 thing HasOne location 关系,并使用“api/thing/{id}/location”端点。

或者你可以 fork the project ,更改 JSON 解析库并发出拉取请求。由你决定 ;)

编辑:或者,您可能已经想到了一个更简单的解决方案,删除嵌套对象并使用两个经典属性 location_lat location_lng

关于android - Loopback Android SDK 中的嵌套模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34713145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com