如标题所述,我使用mongodb保存对象,我的@id字符串有问题。当我想要它在我的对象中时,@ id会发送一种包装器。所以,在阅读我的Json时,我获得了类似的东西:
[
{
"id": null,
"login": "ASmith",
"firstName": "Alice",
"lastName": "Smith",
"fonctions": [
{
"id": null,
"name": "forgeron",
"access": [
{
"id": null,
"name": "Forge",
"role": "admin"
}
]
}
],
"access": [],
"telephone": "no telephone",
"fax": "no fax",
"filiale": "no filiale"
}
]
有不同类型的对象,但清楚地看到所有@id都为null。事实是它们不是作为数据发送的。
{
"_embedded" : {
"utilisateur" : [ {
"login": "ASmith",
"firstName" : "Alice",
"lastName" : "Smith",
"fonctions" : [ {
"name" : "forgeron",
"access" : [ {
"name" : "Forge",
"role" : "admin"
} ]
} ],
"access" : [ ],
"telephone" : "no telephone",
"fax" : "no fax",
"filiale" : "no filiale",
"_links" : {
"self" : {
"href" : "http://server:8081/utilisateur/5979957976a6f114b8760688"
},
"utilisateur" : {
"href" : "http://server:8081/utilisateur/5979957976a6f114b8760688"
}
}
},
但在元数据中作为链接(出于导航目的,我想)。
在我的RestController中我有类似的东西:
@RequestMapping("utilisateurs")
public Collection<Utilisateur> hi() {
return ( utilisateurRepo.getUtilisateurs().getContent());
}
哪个“解包”数据,失去了我的@ids ...所以我怎么能只用一个简单的JSON来获取我的所有数据而没有包装或其他废话?我搜索了一天但发现没有人遇到这种问题。
谢谢,
好吧,最后对于我的情况,事实是我的id没有发回,因为mongo保存它有“_id”为mongo目的。因此,如果您将您的ID记录为“_id”,则该链接是安全的,并且mongo会将其发回。
编辑:嗯,最后问题是springRest不想暴露ID。所以你必须要求他这样解释:https://jira.spring.io/browse/DATAREST-161