【问题标题】:How to consume RESTful web service in my JSF project?如何在我的 JSF 项目中使用 RESTful Web 服务?
【发布时间】:2010-06-06 12:05:24
【问题描述】:

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

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

提前致谢:)

【问题讨论】:

    标签: java jsf rest


    【解决方案1】:

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

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

    您可以使用 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 映射器以类似的方式工作。

    【讨论】:

    • 对不起,我不明白什么是映射器和什么解析器?我从哪里得到这些解析器?如果你能给我一些教程的链接,我将非常感激。
    • 这里已经讨论过 JSON 映射器:stackoverflow.com/questions/338586/a-better-java-json-library 您可能希望使用 JAXB 将 XML 响应映射到 Java 对象:jaxb.dev.java.net/tutorial
    • 指向 Json 映射器的链接已损坏。
    • 看起来 StackOverflow 纳粹已将其删除。如果您有足够的 SO 声誉,它仍然可以访问。我在这里上传了一个屏幕截图:imgur.com/a/WxhDv
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 2016-06-23
    • 2018-05-06
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2023-03-24
    • 2011-10-04
    相关资源
    最近更新 更多