Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在发出RESTful请求时,如何使用Spring3.0MVC将XML转换为对象_Java_Spring_Spring Mvc_Rest - Fatal编程技术网

Java 在发出RESTful请求时,如何使用Spring3.0MVC将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

我正在使用Spring3.0RC1框架,目前正在测试SpringMVC。我想使用SpringMVC来处理restful请求。我已经设置了控制器来处理URI请求。我在请求中传递xml。因此,在控制器上,我有如下方法:

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上的文档,但不确定是否应该使用它。谢谢你的帮助!!