Using JAXB to unmarshal/marshal a Listlt;Stringgt;(使用 JAXB 解组/编组列表lt;字符串gt;)
问题描述
我正在尝试创建一个非常简单的 REST 服务器.我只有一个返回字符串列表的测试方法.代码如下:
<上一页><代码>@得到@Path("/test2")公共列表 test2(){列表列表=新向量();list.add("a");list.add("b");返回列表;}代码>它给出了以下错误:
<上一页>SEVERE:Java 类型的消息体编写器,java.util.Vector 类和 MIME 媒体类型,应用程序/八位字节流,未找到我希望 JAXB 对 String、Integer 等简单类型有一个默认设置.我猜没有.这是我的想象:
<代码><字符串><字符串>一个</字符串><字符串>b</字符串>字符串>使这种方法发挥作用的最简单方法是什么?
解决方案我使用了@LiorH 的示例并将其扩展为:
<上一页><代码>@XmlRootElement(name="列表")公共类 JaxbList{受保护的列表 列表;公共 JaxbList(){}公共JaxbList(列表 列表){这个.list=列表;}@XmlElement(name="项目")公共列表 getList(){返回列表;}}代码> 请注意,它使用泛型,因此您可以将它与 String 之外的其他类一起使用.现在,应用程序代码很简单:
<上一页><代码>@得到@Path("/test2")公共 JaxbList test2(){列表列表=新向量();list.add("a");list.add("b");返回新的 JaxbList(list);}代码>
为什么 JAXB 包中不存在这个简单的类?有人在其他地方看到过类似的东西吗?
I'm trying to create a very simple REST server. I just have a test method that will return a List of Strings. Here's the code:
@GET
@Path("/test2")
public List test2(){
List list=new Vector();
list.add("a");
list.add("b");
return list;
}
It gives the following error:
SEVERE: A message body writer for Java type, class java.util.Vector, and MIME media type, application/octet-stream, was not found
I was hoping JAXB had a default setting for simple types like String, Integer, etc. I guess not. Here's what I imagined:
<Strings>
<String>a</String>
<String>b</String>
</Strings>
What's the easiest way to make this method work?
I used @LiorH's example and expanded it to:
@XmlRootElement(name="List")
public class JaxbList<T>{
protected List<T> list;
public JaxbList(){}
public JaxbList(List<T> list){
this.list=list;
}
@XmlElement(name="Item")
public List<T> getList(){
return list;
}
}
Note, that it uses generics so you can use it with other classes than String. Now, the application code is simply:
@GET
@Path("/test2")
public JaxbList test2(){
List list=new Vector();
list.add("a");
list.add("b");
return new JaxbList(list);
}
Why doesn't this simple class exist in the JAXB package? Anyone see anything like it elsewhere?
这篇关于使用 JAXB 解组/编组列表<字符串>的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 JAXB 解组/编组列表<字符串>
基础教程推荐
- Java:带有char数组的println给出乱码 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 降序排序:Java Map 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01