springmvc接收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());
}
打印结果
1
总结:
关键部分在与请求头consumes和produces折两个参数的配置,总算解决了一个难题。