JAXB类:重用REST

时间:2012-07-24 14:07:14

标签: web-services spring rest soap jaxb

Tech Stack: Java 1.6,JPA(Hibernate 3),Spring 3,Oracle 11g

您好,

我们目前正在重构我们的代码,以便从基于SOAP的Web服务转向REST。 我有大量的XSD,这些用于基于SOAP的WS。并且使用这些模式文件生成了大量的JAXB类。

我的问题是我是否可以使用相同的JAXB类进行REST(进出)。 我没有使用REST的经验。

1 个答案:

答案 0 :(得分:4)

这比你想象的要好。只需将先前用于SOAP端点的JAXB对象带回控制器:

public @ResponseBody JAXBElement<JaxbResponseType> 
controllerMethod(@RequestPayload JAXBElement<JaxbRequestType> request) {
    //...
}

Spring,看到JAXB注释,会自动将它们编组为XML和JSON。这应该是一个很好的起点,更不用说您的REST服务将具有与SOAP类似的结构。