代码之家  ›  专栏  ›  技术社区  ›  akash prasad

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

  •  1
  • akash prasad  · 技术社区  · 7 年前

    我正在使用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请求的主体吗。 提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  0
  •   akash prasad    7 年前

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