在JAX-RS CXF实现中,在另一个自定义对象中使用自定义对象列表的方法是什么?举个例子,我的对象如下所示
@POST
@Produces({MediaType.APPLICATION_JSON})
@Path("test")
public Response myMethod(MyCustomObject myCustomObject) {
在MyCustomObject内部,它有一个另一个自定义对象的列表,它作为内部类
驻留在其中 public class MyCustomObject {
private List<MyInner> innerObjects;
public class MyInner {
private String property;
....
}
....
}
请求JSON对象作为请求的POST主体传递。当我调试这个时,我可以在我将innerObjects列表发送为null时正确传递MyCustomObject。但是当我有一个带有自定义对象的基于数组的结构时,它似乎没有正确地选择它。另外,当我有一个基本类型或基于字符串的数组时,服务工作正常,而不是这个自定义对象数组。如何处理上述情况。
答案 0 :(得分:1)
这可能是因为内部阶级。
不确定您使用的是哪个映射器(cxf默认为jettison但它都是可配置的),但情况可能类似。
非静态内部类(包括匿名内部类)具有由编译器添加的隐藏变量集,通过(隐藏)构造函数传递。因此,不要使用零参数(“默认”)构造函数