在 gwt 中实现 REST 服务
Posted
技术标签:
【中文标题】在 gwt 中实现 REST 服务【英文标题】:Implement REST service in gwt 【发布时间】:2013-07-10 11:42:46 【问题描述】:我想在 gwt 中实现 REST 服务。但我不知道该怎么做。我阅读了一些文档,他们使用 RestyGwt 和 jercy 实现了它。但是我有一个部署在 tomcat 上的应用程序。然后情况是我的客户端应用程序正在调用tomcat上存在的应用程序上的方法。 我必须使用 REST 来实现它,这样我的客户端调用将首先转到客户端上的代理服务,然后它使 REST 调用 tomcat 上的应用程序并获取结果并返回。我怎么能在 gwt 中做到这一点。 ?
【问题讨论】:
【参考方案1】:如前所述,您只能与 REST 服务进行通信。 无论如何,也许可以看看 GWTPlatform 中的调度概念及其实现方式。 (https://github.com/ArcBees/GWTP/wiki/Rest-Dispatch)。
想法很简单,你在客户端有一个动作,它被注册来处理rest url。您可以使用一些附加注释来定义操作接口,以告知要发送和接收的内容。他们正在使用 piriti 库进行 json 序列化。 如果您只需要客户端实现,或者您也想使用服务器端服务创建,这取决于您。
【讨论】:
【参考方案2】:您不能在 gwt 中实现 REST 服务,因为 gwt 被认为是客户端解决方案。
GWT 工具包为服务器端提供的是一些实用程序,当客户端和服务器端都用 java(RPC、RF)编写时,它们可以促进它们之间的通信。
因此,您可以从 gwt(RequestBuilder、gwtquery-ajax 等)使用 REST 服务,但如果您想提供 REST 服务,则需要为您的服务器端提供 3 方解决方案,例如 Jersey、CXF 等。
不过,有 3party 解决方案可以同时提供服务器端和客户端,例如 restygwt、erai-jax 等。
如果您正在寻找一种简单可靠的解决方案来从客户端查询其余服务,在这个 question 中,您有一个使用 gwtquery(ajax、数据绑定、promise)完成的客户端实现
【讨论】:
以上是关于在 gwt 中实现 REST 服务的主要内容,如果未能解决你的问题,请参考以下文章
REST:当我们可以在两者中实现相同的功能时,GET 和 DELETE 有啥区别?
在 Google Web Toolkit (GWT) 中实现页眉、页脚和菜单栏