JAX-RS 在自定义对象中使用自定义对象列表
JAX-RS consuming a custom object list inside a custom object
在 JAX-RS CXF 实现中使用另一个自定义对象中的自定义对象列表的方法是什么?例如,我的对象如下所示
@POST
@Produces({MediaType.APPLICATION_JSON})
@Path("test")
public Response myMethod(MyCustomObject myCustomObject) {
在 MyCustomObject 内部,它有一个另一个自定义对象的列表,它作为内部 class
public class MyCustomObject {
private List<MyInner> innerObjects;
public class MyInner {
private String property;
....
}
....
}
请求 JSON 对象作为请求的 POST 主体传递。当我调试它时,我可以在将 innerObjects 列表作为 null 发送时正确传递 MyCustomObject。但是当我有一个带有自定义对象的基于数组的结构时,它似乎没有正确选择它。此外,当我有原始类型或基于字符串的数组时,服务工作正常,而不是这个自定义对象数组。如何处理上述情况。
可能是因为内class.
Similar question here
不确定你使用的是什么映射器(cxf 默认是 jettison 但它都是可配置的),但情况可能相似。
non-static inner classes (including anonymous ones) have set of hidden variables added by compiler, passed via (hidden) constructor. And as a consequence, do not have zero-argument ("default") constructor
在 JAX-RS CXF 实现中使用另一个自定义对象中的自定义对象列表的方法是什么?例如,我的对象如下所示
@POST
@Produces({MediaType.APPLICATION_JSON})
@Path("test")
public Response myMethod(MyCustomObject myCustomObject) {
在 MyCustomObject 内部,它有一个另一个自定义对象的列表,它作为内部 class
public class MyCustomObject {
private List<MyInner> innerObjects;
public class MyInner {
private String property;
....
}
....
}
请求 JSON 对象作为请求的 POST 主体传递。当我调试它时,我可以在将 innerObjects 列表作为 null 发送时正确传递 MyCustomObject。但是当我有一个带有自定义对象的基于数组的结构时,它似乎没有正确选择它。此外,当我有原始类型或基于字符串的数组时,服务工作正常,而不是这个自定义对象数组。如何处理上述情况。
可能是因为内class.
Similar question here
不确定你使用的是什么映射器(cxf 默认是 jettison 但它都是可配置的),但情况可能相似。
non-static inner classes (including anonymous ones) have set of hidden variables added by compiler, passed via (hidden) constructor. And as a consequence, do not have zero-argument ("default") constructor