请考虑以下代码。
@POST
@Path("records")
public Response insertRecords(List<RecordBean> recordBeans) {
try {
List<Record> records = Utils.getRecordsFromRecordBeans(tenantId, recordBeans);
dataService.insert(records);
....
} catch (Exception e) {
....
}
}
RecordBean
课程如下,
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = {".....", ".....", "values" })
@XmlRootElement(name = "record")
public class RecordBean {
...........
@XmlElement(required = true)
private Map<String, Object> values;
public void setValues(Map<String, Object> values) {
this.values = values;
}
public Map<String, Object> getValues() {
return values;
}
public Object getValue(String name) {
return this.values.get(name);
}
}
insertRecord
方法接收json消息并使用JAXB / JAX-RS,它将转换为List<RecordBean>
。但recordBean
有一个名为“值”的属性。我希望将此属性转换为LinkedHashMap<String, Object>
,因为我希望保留这些值的顺序。我怎样才能做到这一点?有没有办法通过cxf-servlet.xml
或任何其他方式为Map接口分配具体的实现?