当我尝试POST请求时获得400响应

时间:2017-11-22 16:41:32

标签: java jaxb jax-rs cxf

我正在使用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请求中编写Post请求接受jaxb bean作为正文的集合。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

找到解决方案。实际上在POJO类中,而不是使用@XMLType注释的@XmlRootElement,并在Rest调用中删除了JAXBElement的包装。