15

JAX-RS 有一些 MVC 支持,但我想知道 JAX-RS 是否真的是构建供人类使用的 Web 应用程序的好选择。

如果用户在表单中输入错误或不完整的信息,它应该像 Grails 或 Wicket 一样再次显示。使用 JAX-RS 有没有一种舒适的方法来做到这一点?

据我所知,如果没有给出所有必需的参数或存在类型转换问题(例如 Date),URI 映射无法正常工作。那是对的吗?

是否支持国际化模板?

这是一个简单的基于 JAX-RS 的 GUI 应用程序的示例。但这真的很简单,没有讨论 i18n 和验证之类的东西。

4

6 回答 6

5

是的,您可以,但是您必须清除旧的页面发布模型,并开始将您的应用程序视为与 RESTful SOA 通信的断开连接的 UI。输入表单数据时,如果数据不正确,它会发布到服务端点,然后您会返回错误并由 UI 处理该错误。您不会在传统的页面发布模型中将表单发布到服务器,而是对后端系统进行类似 RPC 的调用。您的视图与 MVC 堆栈的其余部分完全分离。这使得用自定义移动或 IVR 系统替换视图变得非常简单。

如果用户在表单中输入错误或不完整的信息,它应该像 Grails 或 Wicket 一样再次显示。使用 JAX-RS 有没有一种舒适的方法来做到这一点?

使用富 Internet 应用程序,您不必重新填充数据,因为您从未离开过页面,对服务器进行 XHR 调用并返回成功 200 或错误。UI 然后根据该响应决定要做什么,但页面仍然完好无损,因为调用是从主 UI 线程带外的。

于 2010-06-17T02:24:39.227 回答
2

Or take the integration approach to get the best of both worlds: JAX-RS + MVC.

The JBoss RESTEasy implementation of JAX-RS integrates with Spring MVC. See http://www.jboss.org/resteasy

Here's a little tutorial on RESTEasy + Spring MVC: http://java.dzone.com/articles/resteasy-spring

于 2010-02-04T06:55:24.363 回答
2

JAX-RS 是 Java EE RESTful 框架。JavaServer Faces (JSF) 是 Java EE MVC 框架。它支持您在问题中提到的所有内容:错误时回发到相同的表单、i8n/l10n等等。要了解有关 JSF 的更多信息,请阅读Java EE 6 教程第二部分第 4-9 章

你可以用 JAX-RS 做一点 MVC,但它不是一个成熟的 MVC 框架。同样的故事还在继续,您可以使用 JSF 做一些 RESTful,但它不是一个成熟的 RESTful 框架。

如果你想要两全其美,我认为你真的需要前往Ruby on RailsGroovy on Rails

于 2010-01-30T14:38:02.523 回答
1

这一篇有很多问题,我就其中两个发表我的看法。

“我想知道 JAX-RS 是否真的是构建供人类使用的 Web 应用程序的好选择。”

Web 服务通常是供机器进行交互的,尽管我认为通常是人类必须对交互进行编程——这需要与 SOAP 进行比较,目前,从 WSDL 中机器生成的代码的范围要大得多。

“如果用户在表单中输入错误或不完整的信息”

  • 然后在接受 html 表单表示的 RESTful HTTP Web 服务中,您应该返回 HTTP 错误 400,因为客户端提供的表示不符合您的服务期望的表示 - 由客户端来处理错误。
于 2010-01-30T16:31:46.733 回答
1

看看ReXSL——它是一个 MVC 框架,位于 JAX-RS 之上。因此,答案是——是的,JAX-RS 非常适合 MVC 设计。

于 2012-05-12T10:50:26.837 回答
0

简短的回答:的。

它是为 JAVA EE 8实现MVC(MVC 1.0 - )的基础。它将是一个带有注释的 JAX-RS bean(在类或方法上)。JSR 371Controller@Controller

有关更多信息,请参阅:MVC 1.0 (JSR 371)

如果您当时选择了这条路,那么您已经做了一个非常好的决定,那么它应该可以让您更轻松地升级和使用新的 Java EE 8 MVC 架构。

于 2015-04-29T14:58:48.997 回答