由于基于URL的RESTful Web服务不是对象,我们无法调用它们上的方法。我有一个简单的Web服务,其中只有一个方法是@GET
。我看了一个截屏视频,它使用了一些javascript库来使用Web服务。但是,我如何在我的JSF项目中使用它?我甚至无法像普通的Web服务那样注入它。请帮忙。我是REST的新手。我不能在托管bean中使用它吗?
如果使用web服务的唯一方法是通过javascript,那么这里的任何人都可以通过JQuery向我提供如何使用它的详细信息吗?
提前致谢:)
答案 0 :(得分:9)
您可以在托管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映射器以类似的方式工作。