技术堆栈:Java 1.6、JPA (Hibernate 3)、Spring 3、Oracle 11g
你好,
我们目前正在重构代码,从基于 SOAP 的 Web 服务转向 REST。 我有大量的 XSD,它们用于基于 SOAP 的 WS。使用这些架构文件生成了大量的 JAXB 类。
我的问题是我是否可以对 REST(输入和输出)使用相同的 JAXB 类。 我没有 REST 经验。
最佳答案
这比你想象的要好。只需获取之前用于 SOAP 端点的 JAXB 对象并从 Controller 返回它们即可:
public @ResponseBody JAXBElement<JaxbResponseType>
controllerMethod(@RequestPayload JAXBElement<JaxbRequestType> request) {
//...
}
Spring 看到 JAXB 注释后,会自动将它们编码为 XML 和 JSON。这应该是一个很好的起点,更不用说您的 REST 服务将具有与 SOAP 类似的结构。
关于web-services - JAXB 类 : reuse for REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632668/