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

时间:2010-06-06 12:05:25

标签: java jsf rest

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

如果使用web服务的唯一方法是通过javascript,那么这里的任何人都可以通过JQuery向我提供如何使用它的详细信息吗?

提前致谢:)

1 个答案:

答案 0 :(得分:9)

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

讨论了Java-JSON映射库herescreen 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映射器以类似的方式工作。