Java Jersey REST服务输出格式

Java Jersey REST服务输出格式,java,web-services,jersey,Java,Web Services,Jersey,我需要根据以下场景使用Jersey格式化restful服务的输出(xml) 我有一个具有键值对的类,如下所示 @XmlRootElement(name=“columnValues”) 公共类KeyValueDTO{ 私钥; 私有字符串val; @xmlement(name=“column”) 公共字符串getKey(){ 返回键; } @xmlement(name=“value”) 公共字符串getVal(){ 返回val; } } 假设我有这样的列表,由rest服务返回: List myli

我需要根据以下场景使用Jersey格式化restful服务的输出(xml)

我有一个具有键值对的类,如下所示

@XmlRootElement(name=“columnValues”)
公共类KeyValueDTO{
私钥;
私有字符串val;
@xmlement(name=“column”)
公共字符串getKey(){
返回键;
}
@xmlement(name=“value”)
公共字符串getVal(){
返回val;
}
}
假设我有这样的列表,由rest服务返回:

List mylist=new ArrayList();
KeyValueDTO dto1=新的KeyValueDTO();
dto1.key=“名称”;
dto1.val=“alex”;
KeyValueDTO dto2=新的KeyValueDTO();
dto2.key=“年龄”;
dto2.val=23
mylist.add(dto1);
mylist.add(dt02);
我想生成如下输出

亚历克斯 20 但目前它给出了以下输出

名称
亚历克斯
年龄
20

有人能告诉我如何实现这一点吗?

您可以尝试使用XmlAdapter:

公共类KeyValueAdapter扩展了XmlAdapter{
@凌驾
公共列表解组(字符串v)引发异常{
//需要执行
返回null;
}
@凌驾
公共字符串封送处理(列表vs)引发异常{
StringBuffer=新的StringBuffer();
用于(键值到v:vs){
append(String.format(“%s”,v.key,v.val));
}
返回buffer.toString();
}
}
然后将该适配器添加到bean中:

@XmlRootElement
公共静态类包装器{
@XmlJavaTypeAdapter(KeyValueAdapter.class)
列出DTO;
}

您可以尝试使用XmlAdapter:

公共类KeyValueAdapter扩展了XmlAdapter{
@凌驾
公共列表解组(字符串v)引发异常{
//需要执行
返回null;
}
@凌驾
公共字符串封送处理(列表vs)引发异常{
StringBuffer=新的StringBuffer();
用于(键值到v:vs){
append(String.format(“%s”,v.key,v.val));
}
返回buffer.toString();
}
}
然后将该适配器添加到bean中:

@XmlRootElement
公共静态类包装器{
@XmlJavaTypeAdapter(KeyValueAdapter.class)
列出DTO;
}