我正在使用CXF并且我的bean如下
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Test {
@XmlElement(name="id")
protected Long Id;
@XmlElement(name = "students")
protected Set<String> students;
//Getters and setters
}
当我尝试使用以下要求时
@POST
@Path("/test")
public String getCounts(JAXBElement<Test> jaxFilters) {
Test filter = jaxFilter.getValue();
//Some logic
}
但是当我使用下面的请求时,我得到了400错误
@POST
@Path("/test")
public String getCounts(JAXBElement<List<Test>> jaxFilters) {
List<Test> filter = jaxFilter.getValue();
//Some logic
}
有人可以帮助我如何编写Post请求,以接受jaxb bean的集合作为post请求中的主体。
提前致谢。
最佳答案
找到了解决方案。实际上在POJO类中,而不是使用@XMLType注释的@XmlRootElement,并且在Rest调用中删除了JAXBElement的包装。