Java 在发出RESTful请求时,如何使用Spring3.0MVC将XML转换为对象
我正在使用Spring3.0RC1框架,目前正在测试SpringMVC。我想使用SpringMVC来处理restful请求。我已经设置了控制器来处理URI请求。我在请求中传递xml。因此,在控制器上,我有如下方法:Java 在发出RESTful请求时,如何使用Spring3.0MVC将XML转换为对象,java,spring,spring-mvc,rest,Java,Spring,Spring Mvc,Rest,我正在使用Spring3.0RC1框架,目前正在测试SpringMVC。我想使用SpringMVC来处理restful请求。我已经设置了控制器来处理URI请求。我在请求中传递xml。因此,在控制器上,我有如下方法: public void request(RequestObject request) { doSomething(); } 我很难将xml转换为RequestObject。我没有看到太多关于这方面的文档,我想知道是否有人能为我指出正确的方向。我猜您必须使用JAXB或其他方法对R
public void request(RequestObject request) {
doSomething();
}
我很难将xml转换为RequestObject。我没有看到太多关于这方面的文档,我想知道是否有人能为我指出正确的方向。我猜您必须使用JAXB或其他方法对RequestObject进行注释,以便告诉Spring将xml文件转换为RequestObject,但我不确定
谢谢你的帮助 要将XML转换为Java对象,可以使用Apache摘要。Spring在内部使用它自己 更新 我不知道Spring3.0中的这个新特性。对不起,误会了你。 我写了快速测试,这是你应该做的 1) 在-servlet.xml中设置ViewResoler和MessageConverter。在我的测试中是这样的
2) 将XML结构注释添加到Java类中
@XmlRootElement
public class Person {
private String name;
private int age;
private String address;
/**
* @return the name
*/
@XmlElement
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the age
*/
@XmlElement
public int getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(int age) {
this.age = age;
}
/**
* @return the address
*/
@XmlElement
public String getAddress() {
return address;
}
/**
* @param address the address to set
*/
public void setAddress(String address) {
this.address = address;
}
}
3) 将映射注释添加到控制器类中,如
@Controller
public class RestController {
@RequestMapping(value = "/person", method = RequestMethod.PUT)
public ModelMap addPerson(@RequestBody Person newPerson) {
System.out.println("new person: " + newPerson);
return new ModelMap(newPerson);
}
}
希望这能对您有所帮助。谢谢您获得了链接……但也许我不是在寻找转换xml的库。我想知道如何启动mvc,使xml需要转换为对象。无论我在请求体中发布什么,对象都是空的。这正是我要寻找的。我想我错过了信息转换器。我看到了@RequestBody上的文档,但不确定是否应该使用它。谢谢你的帮助!!