1

对于我使用的 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"
        }
    ]
}

我该如何解决?
谢谢。

4

1 回答 1

1

UrlQueryParamFilter 要求您提供要包含的所有属性的名称(如果配置为排除属性,则排除)。所以简而言之,做http://<host>/myservice/rootEntity?filter=childs,firstChildProp,secondChildProp应该工作。

我想提供一种配置包含所有子属性的方法可能是有意义的,我打开了这个问题https://github.com/owlike/genson/issues/105

于 2016-09-16T17:35:05.503 回答