如何在Web应用程序中实现REST?

时间:2009-03-31 14:33:13

标签: web-applications rest java-ee

我想知道如何在我的Web应用程序中实现REST。我想基于此服务创建一个Web应用程序,但我不知道该怎么做。现在,我正在使用J2EE和Tomcat。这些技术应该考虑哪些因素?

修改 对不起,我的意思是RESTful服务。

5 个答案:

答案 0 :(得分:12)

REST不是特定的界面或技术,而是一种风格。最好的例子是网络本身 - 您的浏览器向Web服务器发送HTTP请求,该服务器以网页响应。

此上下文中的Representational State Transfer:表示是网页,状态是其中包含的信息。我们可以通过切换到提供xml而不是html来更改表示,但信息将是相同的。

在RESTful服务中,您使用此样式来回发送数据对象 - 状态从服务器传输到您,然后再次发送新状态。

因此,从某种意义上说,如果您将服务器页面作为资源,Tomcat将已经为您执行REST:http://carsales.com/cars/porsche2149可能是您的汽车的资源,您可以使用HTTP POST或PUT来更改细节。

REST的标志是使用URI来表示资源,如上所述,使用JSON或XML作为交换媒介(虽然使用了AHAH和其他格式),并争论如何删除集合。

首先,弄清楚你的资源是什么,并组织你的URI系统以适应它(使用URL重写等)。然后确定要使用的表示。最后,编写后端来处理传递状态表示,并更新数据库。

答案 1 :(得分:1)

我对CXF的jax-rs没有任何经验,但Restlet对我来说效果很好。它允许以直接的方式实现RESTful服务和客户端。它对DekiWiki的REST服务接口的编程帮助很大。有一本关于“RESTful Web服务”的O'Reilly书籍提供了一个很好的介绍。它还有关于Restlet的简短部分。

答案 2 :(得分:0)

这是一个驱动程序的答案,但如果你想要一个框架/ api来帮助这里有两个选择:

Restlet

CXF's jax-rs

答案 3 :(得分:0)

我们也使用Restlet和JAX-RS。

如果你要使用JAX-RS(用于RESTful Web服务的Java API),那么这个document可能会有用(尽管它是在JBoss RESTEasy中进行开发的参考指南)。

我还推荐REST test client

答案 4 :(得分:0)

RESTful Web Services是一本可以帮助你的书。它描述了RESTful Web服务背后的激励,并提供了有关如何设计服务的说明。然后,您可以使用框架或只是简单的servlet来继续实现。

作为已经提到的实现方法的替代方案,我想添加Spring MVC。可以创建RESTful应用程序already,但会在Spring 3.0中添加更直接的支持