获取错误Java类的消息体编写器java.util.ArrayList / List< java.lang.String>没找到 [英] Getting error A message body writer for Java class java.util.ArrayList/List<java.lang.String> was not found
问题描述
这已经在这里发布了很多时间,但没有解决方案对我有用...
i可以通过制作包装类来避免此错误但它只返回
well this has been posted a lot of time here but no solution worked for me...
i can avoid this error by making a wrapper class but it only returned
< / stringWrapper>
我做错了什么?
StringWrapper类:
StringWrapper class:
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);
}
}
代码:
@Path("/xml")
@GET
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public StringWrapper mystring(){
StringWrapper thestring=new StringWrapper();
thestring.add("a");
thestring.add("a");
return thestring;
}
使用泽西岛的Java Rest网络服务。
Java Rest webservice using Jersey.
推荐答案
您应该在StringWrapper中添加至少一个getter。没有公共属性,没有任何序列化。所以输出是正确的。如果您不想在字符串列表周围添加标记,可以使用@XmlValue标记单个getter。
You should add at least a getter in your StringWrapper. Without public attributes, there is nothing to serialize. So the output is correct. If you do not want a tag around the list of your strings, you can mark a single getter with @XmlValue.
@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; }
}
这篇关于获取错误Java类的消息体编写器java.util.ArrayList / List< java.lang.String>没找到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!