【问题标题】:Exposing Web Application as Web Service too也将 Web 应用程序公开为 Web 服务
【发布时间】:2012-05-30 12:37:44
【问题描述】:

我在春季开发了一个 Web 应用程序。现在我需要将某些功能公开为 Restful Web 服务。我不应该使用 Spring Rest 功能。以下是我的问题,

1) 我可以使用与 Web 应用程序和 Web 服务相同的代码库吗?

2) 如果对第一个问题的回答是肯定的,那么将 Web 应用程序类(或某些功能)转换为安静的 Web 服务的最佳方法是什么? AXIS2 还是泽西岛?对于 Jersey,我可以看到互联网上提供的示例教程主要由注释驱动,并且由于我的 Spring Web 应用程序已经充满了诸如 @AutoWired、@Component 等注释,我不确定在 spring 注释之上使用 Jersey 注释会导致到冲突。

【问题讨论】:

  • 如果您不应该使用 REST 功能,您的公司是否有另一个标准来公开您应该使用的 REST 样式服务?
  • @Jonathan 我的意思是 spring 提供的 REST 功能无法使用。
  • 对。我的意思是 Spring 提供的 REST 特性。通常,如果一家公司禁止您这样做,他们就会有另一个想法(CXF、Jersey、Rest Easy 等)
  • 他们一直坚持使用AXIS2。

标签: web-services spring


【解决方案1】:

是的,你可以使用相同的代码库,但不一样。你需要用球衣的注释替换一些注释,因为 Web 服务是关于它的 URL 和方法的,所以需要放置方法的 URL 路径并具有在 Java 类和方法上定义请求-响应方法(post/get)方法。

此外,您需要制作带有 jersey 注释的 xml 控制器或包装器,它们将接收发布的 xml 输入并生成所需的 xml 输出,或者您决定的 JSON。

在我看来,使用 jersey 将与 spring 注释非常相似,而且也很容易。

【讨论】:

  • 如果我使用 Jersey 并将一些 spring 注释替换为 jersey 注释,那么应用程序的 spring 风格会不会丢失?相同的代码库应该可以作为 Spring Web 应用程序和 Web 服务正常工作。有可能这样做吗?我想知道初始阶段本身,以便我朝着正确的方向前进。
  • Spring 和 Jersey 是两个不同的东西。是的,您需要相应地修改来代码和注释。都是关于路径注释之类的注释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-04
  • 1970-01-01
相关资源
最近更新 更多