我有以下结构:
AckDto和PersonDto的 AckInfoDto
包装器
@XmlRootElement
public class AckInfoDto implements Serializable{
private AckDto ackDto;
private PersonDto personDto;
public AckInfoDto() {
}
...getters/setters...
}
AckDto
@XmlRootElement
public class AckDto extends BaseDto {
...fields...
public AckDto() {
}
...getters/setters...
PersonDto
@XmlRootElement
public class PersonDto extends BaseDto {
...fields...
public PersonDto() {
}
...getters/setters...
}
和BaseDto
public class BaseDto implements Serializable
休息Api iface:
@POST
@Path("/ack/set")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
String setAck(AckInfoDto ackInfo);
RestEasy依赖
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<version>3.0.10.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-spring</artifactId>
<version>3.0.16.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
<version>3.0.16.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.16.Final</version>
</dependency>
我用body:
运行POST req{
"ackInfoDto": {
"ackDto": {
"consentId": "57164da116697f22fcddecc5",
"revokeDate" : null,
"source": "source",
"browserInfo": "chrome",
"ipAddress" : "IP",
"remark" : "remark"
},
"personDto": {
"firstName": "janko",
"lastName": "hrasko",
"email": "janko@hrasko1.com"
}
}
}
我遇到的问题:
无论我做什么,personDto在服务器上都是null。 ackDto已填充并存在
我正在使用WildFly9。 我不知道出了什么问题。我已经尝试了google搜索,删除了produce.consumes xml,删除了xmlroot元素,但没有任何效果