java - 如何在我的 JSF 项目中使用 RESTful Web 服务?

标签 java jsf rest

由于 RESTful Web 服务是基于 url 的,而不是对象,我们不能调用它们的方法。我有一个简单的 Web 服务,其中只有一种方法是 @GET。我看到一个截屏视频,它使用一些 javascript 库来使用 Web 服务。但是,如何将它用于我的 JSF 项目?我什至不能像普通的网络服务那样注入(inject)它。请帮忙。我是 REST 的新手。我不能在我的托管 bean 中使用它吗?

如果使用 web 服务的唯一方法是通过 javascript,这里有人可以给我详细说明如何通过 JQuery 使用它吗?

提前致谢:)

最佳答案

您可以毫无问题地在托管 bean 中使用它。 RESTful Web 服务通常返回 JSON 或 XML 格式的对象。您可以调用 restful web 服务,并根据其响应的格式,使用 XML 解析器或 JSON 解析器对其进行解析,或者甚至更好地使用映射器将响应映射到 Java 对象并在您的应用程序的其他地方使用它。

讨论了 Java-JSON 映射库 here (screen capture here)。

您可以使用 JAXB 进行 XML-Java 映射:https://jaxb.dev.java.net/tutorial/

XML 映射器,将 XML 文档映射到 Java 对象。

例如,如果您使用的 Web 服务的响应是:

<SampleResponse>
<firstName>James</firstName>
<lastName>Gosling</lastName>
</SampleResponse>

XML 映射器可以将其转换为以下类的实例:

public class SampleResponse {
private String firstName;
private String lastName;
// setters and getters
}

像这样:

SampleResponse myResponseObj = mapper.fromXML(xmlRespnse);

JSON 映射器以类似的方式工作。

关于java - 如何在我的 JSF 项目中使用 RESTful Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2984106/

相关文章:

java - Android 中的 Groovy、Scala、Clojure 等脚本

java - 在集合中排序

java - JSF 1.1 f :param not working in WAS 5

jsf - f :websocket in JSF 2. 3

rest - 为什么我不能获得 HAL 支持以在 grails 2.3.8 中工作?

java - 为什么我在 Ubuntu 14.04.5 上得到 com.sun.webkit.dom.HTMLInputElementImpl.clickImpl(J)V 的 java.lang.UnsatisfiedLinkError

java - 无法通过jconsole连接到docker容器中的jmx jar进程

jsf - 通过 p :fileUpload mode=advanced 上传文件时传递另一个输入组件的值

html - mat-table 不会被来自restservice 的数据填充

java - 原子饲料基础知识