获取Java类Java.util.ArrayList/List的消息体编写器时出错<;java.lang.String>;找不到

获取Java类Java.util.ArrayList/List的消息体编写器时出错<;java.lang.String>;找不到,java,web-services,rest,jersey,Java,Web Services,Rest,Jersey,这已经在这里发布了很多次了,但是没有一个解决方案对我有效… 我可以通过创建一个包装类来避免这个错误,但它只返回 我做错了什么 StringWrapper类: import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class StringWrapper { public StringWrapper

这已经在这里发布了很多次了,但是没有一个解决方案对我有效…
我可以通过创建一个包装类来避免这个错误,但它只返回

我做错了什么

StringWrapper类:

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class StringWrapper {
    public StringWrapper (){}

    List<String> list=new ArrayList<String>();

    public void add(String s){ 
        list.add(s);
    }
}

使用Jersey的Java Rest Web服务。

您应该在StringWrapper中至少添加一个getter。没有公共属性,就没有可序列化的内容。因此,输出是正确的。如果您不希望字符串列表周围有标记,可以使用@XmlValue标记单个getter

@XmlRootElement
public class StringWrapper {
    public StringWrapper (){}

    List<String> list=new ArrayList<String>();

    public void add(String s) { list.add(s); }

    @XmlValue    
    public List<String> getData() { return list; }

}
@XmlRootElement
公共类StringWrapper{
公共StringWrapper(){}
列表=新的ArrayList();
public void add(字符串s){list.add(s);}
@XmlValue
public List getData(){return List;}
}

该解决方案的可能副本不起作用!!真正地即使是这个:?看到了吗:请发布一个您希望从此端点返回的XML文档的示例。有了它,我们就可以使用它来获得一组合适的注释。或者在getter方法上使用@xmlement,我错了吗?
@XmlRootElement
public class StringWrapper {
    public StringWrapper (){}

    List<String> list=new ArrayList<String>();

    public void add(String s) { list.add(s); }

    @XmlValue    
    public List<String> getData() { return list; }

}