用实体来接收xml数据
接收的xml数据格式:
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<id>1</id>
<name>xxl</name>
<age>24</age>
</xml>
java代码实体类:
@XmlRootElement(name = "xml")
public class StudentPojo implements Serializable{
private String id;
private String name;
private String age;
public String getId() {
return id;
}
@XmlElement(name = "id")
public void setId(String id) {
this.Id = id;
}
public String getId() {
return Id;
}
@XmlElement(name = "name")
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
@XmlElement(name = "age")
public void setAge(String age) {
this.age = age;
}
public String getAge() {
return age;
}
@XmlRootElement(“”) 注解解释:
将类或枚举类型映射到 XML 元素。JAXB中的注解,用来根据java类生成xml内容。
当使用 @XmlRootElement 注释对顶层类或枚举类型进行注释时,类型值被表示为 XML 文档中的 XML 元素。
@XmlRootElement // xml 文件的根元素
@XmlElement
@XmlAccessorType // 控制默认情况下是否对字段或 Javabean 属性进行系列化。
@XmlTransient
请求层:
@RequestMapping(value = "/地址",consumes = "application/xml",produces ="application/xml",method = RequestMethod.POST)
@ResponseBody
public String initAuthentication(@RequestBody StudentPojo studentPojo ) {
System.out.println(studentPojo.getId());
}
注意:@RequestMapping注解中的两个属性consumes和produces
- consumes=“application/xml”表示接收xml的数据格式
- produces=“application/xml”表示返回xml的数据格式