我需要用soap接收一些消息,所以我通过xsd scheme和maven-jaxb2-plugin生成了几个类,如下所示:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Claim", propOrder = {
"field",
})
public class ClaimType {
@XmlElement(required = true, type = Integer.class, nillable = false)
protected Integer field;
public Integer getField() {
return bpType;
}
public void setField(Integer value) {
this.field= value;
}
}
收到消息后,我需要发送这些到下一个微服务 Package 的hashmap。我应该使用objectmapper来转换:
//JAXB DTO --> JSON
ObjectMapper objectMapper = new ObjectMapper();
String jsonContent = objectMapper.writeValueAsString(claimType);
map.put("json", jsonContent);
//JSON --> JAXB DTO
ObjectMapper objectMapper = new ObjectMapper();
String json = map.get("json");
ClaimType claimType = objectMapper.readValue(json, ClaimType.class);
但是生成的类没有任何构造函数,所以我得到了如下异常
不存在类似默认构造函数的创建者”。
使用jaxbdto的最佳方法是什么?我可以做smth来成功地将这些json转换成object吗?提前谢谢!
1条答案
按热度按时间f4t66c6m1#
我使用objectmapper mixin解决了我的问题:
以及转化:
解决方案链接