2010-06-07 131 views
3

我想在CDI/JSF2应用程序中使用RESTful服务。我对JAX-RS并不是很熟悉,但是我读过它的生命周期不能很好地与CDI/JSF2兼容。是否可以将JAX-RS与CDI/JSF2合并到JEE6堆栈中?如果不是有替代品吗?CDI/JSF和JAX-RS?

感谢

+0

任何有关问题的参考(因为我没有看到他们可能是什么)? – 2010-06-07 18:27:40

+0

@Pascal Thivent - 对此不太了解,我发现这个链接http://www.mentby.com/paul-sandoz/jax-rs-and-cdi-integration-using-glassfish-v3.html和一篇关于resteasy-cdi http://community.jboss.org/wiki/RESTEasy-CDIIntegration – kgrad 2010-06-07 18:59:58

+1

我使用CDI(仅用于DI)和JAX-RS - 发挥得很好(Glasssfish 3.1.2) – 2012-04-26 14:35:27

回答

6

您可以使用JAX-RS就好沿侧 JSF应用程序,但是,他们没有发挥好一起。例如,您不能使用JAX-RS让“http://localhost:8080/story/92/”返回一个带有ID为92的Story实体的JSF页面。

但是,您可以使用PrettyFaces来执行与此类似的操作。

JAX-RS对非JSF资源有意义。 “http://localhost:8080/story.xml”对于JAX-RS非常有意义。

3

您可以从JSF模板中调用您的休息服务。例如,当您的JSF页面返回http://localhost:8080/index.xhtml时,您可以从http://localhost:8080/services/运行您的休息服务。然后,您可以编写一些自定义JavaScript来从您的JSF页面调用您的其余服务。这实际上是REST服务的一般做法,因此它们可以被许多不同的UI使用。 JSF可能不是消费REST服务的最佳选择,但它是可能的。