2010-06-06 68 views
6

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

如果消费Web服务的唯一方法是通过javascript,那么这里的任何人都可以告诉我如何通过JQuery使用它的细节吗?

感谢提前:)

回答

9

您可以用没有问题的托管bean使用它。 REST风格的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映射器以类似的方式工作。

+0

对不起,但我不明白什么是映射器和什么解析器?我从哪里得到这些解析器?如果你可以给我一些指南的链接,我将非常感激。 – TCM 2010-06-06 12:13:20

+0

JSON映射器已在此处讨论:http://stackoverflow.com/questions/338586/a-better-java-json-library 您可能想要使用JAXB将XML响应映射到Java对象:https:// jaxb .dev.java.net/tutorial/ – Behrang 2010-06-06 12:14:54

+0

与Json映射器的链接已中断。 – 2016-10-31 01:09:00

相关问题