我正在使用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的包装。

10-07 19:18
查看更多