Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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
SpringXML绑定_Xml_Spring_Rest - Fatal编程技术网

SpringXML绑定

SpringXML绑定,xml,spring,rest,Xml,Spring,Rest,我正在尝试创建一个RESTful服务,它接受传入的XML并将结果解析为业务对象。我有XML和业务对象 是否有一种执行数据绑定的方法,将xml引入RESTful服务并自动创建业务对象 目前我正在手动完成这一部分,我很确定这不是最好的方法。我在想也许有办法映射xml并将其传输到对象。谢谢。我完全按照你的要求做,但是使用JSON,使用flexjson。我相信包org.springframework.oxm包含一个用于序列化和反序列化XML数据的框架,但我个人还没有尝试过 您可以使用OXM(例如JAXB

我正在尝试创建一个RESTful服务,它接受传入的XML并将结果解析为业务对象。我有XML和业务对象

是否有一种执行数据绑定的方法,将xml引入RESTful服务并自动创建业务对象


目前我正在手动完成这一部分,我很确定这不是最好的方法。我在想也许有办法映射xml并将其传输到对象。谢谢。

我完全按照你的要求做,但是使用JSON,使用flexjson。我相信包org.springframework.oxm包含一个用于序列化和反序列化XML数据的框架,但我个人还没有尝试过

您可以使用OXM(例如JAXB)和SpringWebMVC的
@RequestBody
注释来实现这一点。下面是一个简单的RESTful示例,用于从XML负载创建用户对象:

@RequestMapping(
    value = "/users",
    method = RequestMethod.POST,
    headers = "content-type=application/xml")
@ResponseStatus(HttpStatus.CREATED)
public String createUser(@RequestBody User user, HttpServletResponse res) {
    Long userId = userDao.create(user);
    response.addHeader("Location", "/users/" + userId);
    return null;
}

听起来您已经有了XML有效负载部分,所以我就到此为止。

是的,您可以使用JAXB、Castor、JiBX等。我使用过JAXB,它工作得很好。。。除非您正在处理映射,否则您需要处理自定义适配器。