Genson:在使用 RuntimePropertyFilter 时处理 child 的属性
Genson: Handling child's properties while using 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
时,我预计会得到具有所有 child 属性的所有 child。但实际上我只得到了child的结构:
{
"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"
}
]
}
我该如何解决?
谢谢
UrlQueryParamFilter 希望您提供要包含的所有属性的名称(如果配置为排除属性,则排除)。所以简而言之,http://<host>/myservice/rootEntity?filter=childs,firstChildProp,secondChildProp
应该有效。
我想提供一种配置包含所有子属性的方法可能有意义,我打开了这个问题 https://github.com/owlike/genson/issues/105。
对于我的 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
时,我预计会得到具有所有 child 属性的所有 child。但实际上我只得到了child的结构:
{
"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"
}
]
}
我该如何解决?
谢谢
UrlQueryParamFilter 希望您提供要包含的所有属性的名称(如果配置为排除属性,则排除)。所以简而言之,http://<host>/myservice/rootEntity?filter=childs,firstChildProp,secondChildProp
应该有效。
我想提供一种配置包含所有子属性的方法可能有意义,我打开了这个问题 https://github.com/owlike/genson/issues/105。