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.

Другие вопросы по тегам