RESTful JSF可能吗?

时间:2009-09-15 17:02:28

标签: rest jsf seam

我最近坐下来将一个简单的Rails应用程序移植到JSF(使用Seam)以获得我将更高效的感觉.Rails应用程序是RESTful,我喜欢。在开始使用JSF时,我很惊讶地发现,或许是错误的,JSF只支持POST,这使得它本身就不是RESTful。

我搜索了一下但找不到满意的答案。 JSF / Seam似乎非常受欢迎,但对我来说它禁止所有HTTP方法而不是POST是没有意义的。 JSF本身是不是允许RESTful架构,或者我错了,RESTful JSF是否可行(本身或通过插件)?

4 个答案:

答案 0 :(得分:6)

这是一个blog post that works through this question,虽然没有得出任何可靠的结论。

根据我的个人经验,JSF / Seam实际上并不是很受欢迎,这在很大程度上归功于这些问题。它似乎很难从Web的基本性质中抽象出来,然后打破GET之类的东西。修复(对于你遇到的任何问题)总是“进入下一个版本”或“如果你有好的工具就不会有问题”。 YMMV,但我可能会看一个不同的堆栈。

我听说过有关Restlet的好消息,我发现Struts 2有一个REST plugin。在Spring 3中,Spring MVC有added support for REST。我和Grails一起工作过,它使RESTful的事情变得相当简单。它有额外的好处,你应该非常熟悉,因为你对Rails有经验。

答案 1 :(得分:3)

JSF with seam可以做得很好。这取决于你想用它做什么。 JSF通常使用post将您的现场数据提供给后端。很多JSF的东西都适用于post。但是你当然可以使用Seam Page参数来使用GET,甚至可以使用底层的HTTPRequest对象。

现在更大的RESTful架构,是的,与JSF不兼容。但是,请为您的用户界面使用JSF,为RESTful API使用JAX-RS。两个人都可以幸福地生活在一起。

答案 2 :(得分:2)

根据您的具体要求(REST作为API或更多作为获取可收藏的URL的方式),Seam比引导更远。 Seam开发人员的一篇文章位于http://relation.to/Bloggers/RESTSupportInLatestSeam21,它演示了新的REST功能。其中包括如何通过RESTful API公开对实体的完全访问权限,只需要四行XML。

如果您只是为了收藏书签,您仍需要仔细设计如何在JSF页面和流程中链接(一起)的内容,尽管Seam 2.2添加了一些功能以使其更容易。

答案 3 :(得分:2)

JSF是基于组件的框架,而不是基于操作的框架。 URL肯定是 action 相关的,所以如果你想做一个RESTful Web应用程序,JSF可能不是你想要的。

另见: