【问题标题】:Is RESTful JSF possible?RESTful JSF 可能吗?
【发布时间】:2009-09-15 17:02:27
【问题描述】:

我最近坐下来移植一个简单​​的 Rails 应用程序,我必须使用 JSF(使用 Seam)来感受一下,这样我会更有效率。Rails 应用程序是 RESTful 的,我喜欢这一点。在开始接触 JSF 时,我惊讶地发现,也许是错误的,JSF 只支持 POST,这使得它本质上是非 RESTful 的。

我搜索了一下,但找不到满意的答案。 JSF/Seam 似乎很流行,但对我来说它会禁止除 POST 之外的所有 HTTP 方法是没有意义的。 JSF 本质上不允许 RESTful 架构是真的吗,还是我错了,RESTful JSF 是可能的(固有地或通过插件)?

【问题讨论】:

    标签: rest jsf seam


    【解决方案1】:

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

    以我个人的经验,JSF/Seam 实际上并不是很受欢迎,很大程度上是由于这些问题。它似乎非常努力地从网络的底层本质中抽象出来,然后打破了GET 之类的东西。修复(无论你遇到什么问题)总是“在下一个版本中出现”或“如果你有好的工具,那不是真正的问题”。 YMMV,但我可能会看看不同的堆栈。

    我听说过关于Restlet 的好消息,我发现Struts 2 有一个REST plugin。在 Spring 3 中,Spring MVC 有 added support for REST。我曾与Grails 合作过,它使做 RESTful 的事情变得相当简单。它还有一个额外的好处,就是你应该非常熟悉它,因为你熟悉 Rails。

    【讨论】:

    • 谢谢。您的链接有一条关于 Seam 支持 REST 的评论,所以我也会看一下。 Rails 到目前为止看起来是最优雅的,但我想确保我看看其他主要竞争者(包括 Grails)。
    • 那篇文章对 Seam 和 REST 的描述并不完全准确。他将 RoR 控制器与 Seam 对 JAX-RS 的支持进行了比较。不同的东西。更准确的比较是 RoR 控制器与 Seam 页面操作。
    【解决方案2】:

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

    另见:

    【讨论】:

      【解决方案3】:

      带接缝的 JSF 可以做 GET 好。这取决于你想用它做什么。 JSF 通常使用 post 将您的字段数据发送到后端。很多 JSF 的东西都适用于 post。但是你当然可以使用 GET 使用 Seam Page 参数,甚至只是获取底层的 HTTPRequest 对象。

      现在更强大的 RESTful 架构,是的,不能很好地与 JSF 一起工作。但是,您可以随意将 JSF 用于您的用户界面,将 JAX-RS 用于您的 RESTful API。两人可以幸福地生活在一起。

      【讨论】:

        【解决方案4】:

        根据您的具体要求(REST 作为 API 或更多作为获取可收藏 URL 的手段),Seam 比领先者走得更远。 Seam 开发人员的一篇文章在http://relation.to/Bloggers/RESTSupportInLatestSeam21 上展示了新的 REST 特性。其中包括如何通过 RESTful API 仅使用四行 XML 公开对实体的完全访问权限。

        如果您只是选择可书签,您仍然必须仔细设计如何将 JSF 页面和流程中的事物(一起)链接起来,尽管 Seam 2.2 添加了一些功能来使这更容易。

        【讨论】:

          猜你喜欢
          • 2015-05-02
          • 1970-01-01
          • 1970-01-01
          • 2013-05-26
          • 2011-07-16
          • 2010-12-12
          • 1970-01-01
          • 2012-09-13
          • 2013-09-27
          相关资源
          最近更新 更多