Genson: обработка дочерних свойств при использовании RuntimePropertyFilter
Для моей конфигурации Genson я использовал UrlQueryParamFilter
, И это работает, но не так, как я ожидал.
Мои сущности:
public class Root {
private String firstRootProp;
private String secondRootProp;
private List<Child> childs;
//getters & setters
}
public class Child {
private String firstChildProp;
private String secondChildProp;
//getters & setters
}
Конечная точка "rootEntity" связана с получением некоторых Root
в моем отдыхе. Когда я получу http://<host>/myservice/rootEntity?filter=childs
Я ожидал, что получит всех детей со всеми свойствами ребенка. Но на самом деле я получил только детскую структуру:
{
"childs": [
{},
{}
]
}
И что я хочу получить:
{
"childs": [
{
"firstChildProp": "Some value for first property",
"secondChildProp": "And some value for second property"
},
{
"firstChildProp": "Some value for first property",
"secondChildProp": "And some value for second property"
}
]
}
Как я могу это исправить?
Спасибо.
1 ответ
UrlQueryParamFilter ожидает, что вы предоставите имя всех свойств, которые вы хотите включить (или исключите, если настроено исключение свойств). Короче говоря http://<host>/myservice/rootEntity?filter=childs,firstChildProp,secondChildProp
должно сработать.
Я думаю, что может иметь смысл предоставить способ настройки включения всех дочерних свойств, я открыл этот выпуск https://github.com/owlike/genson/issues/105.