Я создаю клиента для запроса нашего JSON Api, и я пытаюсь расширить ресурс с помощью контента, поступающего с другого ресурса. Я хочу сделать это, потому что ресурсы являются частью одного и того же объекта, и наши пользователи возвратят единый объект без необходимости отдельно запрашивать две службы. я помещу здесь базовую версию ресурсов, чтобы лучше объяснить проблему:Spring HATEOAS добавляет внешний контент при десериализации JSON
/* Sample class */
public class Sample {
public String accession;
public String name;
//...
public Map<RelationType, List<Relation>> relations
// ... classic getters and setters
}
// Relation class
public class Relation {
public String id;
// getters and setters
}
Теперь JSON Api что-то похожее на это: Здесь Sample
{
"_embedded":{
"samples":[
{
"accession":"SAME1500861",
"name":"1380435",
"_links":{
"self":{ "href":"https://www.ebi.ac.uk/biosamples/api/samples/SAME1500861"
},
"sample":{
"href":"https://www.ebi.ac.uk/biosamples/api/samples/SAME1500861"
},
"relations":{
"href":"https://www.ebi.ac.uk/biosamples/api/samplesrelations/SAME1500861"
}
}
}
]
},
"_links":{ }
}
Здесь отношения :
{
"accession": "SAME1500861",
"_links": {
"self": {
"href": "https://www.ebi.ac.uk/biosamples/api/samplesrelations/SAME1500861"
},
"derivedFrom": {
"href": "https://www.ebi.ac.uk/biosamples/api/samplesrelations/SAME1500861/derivedFrom"
},
"derivedTo": {
"href": "https://www.ebi.ac.uk/biosamples/api/samplesrelations/SAME1500861/derivedTo"
},
"externalLinks": {
"href": "https://www.ebi.ac.uk/biosamples/api/samplesrelations/SAME1500861/externalLinks"
},
"recuratedTo": {
"href": "https://www.ebi.ac.uk/biosamples/api/samplesrelations/SAME1500861/recuratedTo"
}
}
}
Любое предложение было бы замечательным. Спасибо
Поправьте меня, пожалуйста, если я ошибаюсь ... Вы хотите сделать звонок один раз, но иметь полный анализируемый объект json? – mihatel
Нет. Я просто хочу объединить два ресурса JSON в класс Sample во время разбора ресурса Sample JSON. Я думаю, что мне нужно сделать два вызова в любом случае, так как ресурсы разделены. – Kerruba
Я бы использовал метод Gson и call setRelations класса. Пример после разбора – mihatel