【问题标题】:How to consume a RESTful web service using browser technologies如何使用浏览器技术使用 RESTful Web 服务
【发布时间】:2012-03-27 14:05:42
【问题描述】:

所以我开发了一个简单的 Java RESTful Web 服务,它在 http://localhost:8080/testProject/rest/items 上运行。

当我在浏览器中导航到该 URL 时,我会返回 XML。

那么,使用 Web 服务并以用户友好的方式(例如在表格中)显示结果的最佳方式是什么?

我应该使用基本的 HTML 或 jquery 或其他东西吗?

我也希望在未来将参数发布到 Web 服务。

谢谢

【问题讨论】:

  • Web 服务不是为用户交互而设计的,那么为什么要使其描述(您在浏览器中看到的 xml)“更加用户友好”?
  • 对不起,我问的是在浏览器中使用服务的最简单方法
  • @flexer7661 你是在研究一种技术还是在问你应该使用什么作为框架?
  • 这只能在同一个 localhost:8080 位置工作,除非你实现CORS(谷歌)。您应该使用 html 和 javascript 的组合; jQuery 可能会使它的 javascript 方面更容易。
  • 不,我没有设置技术,但我正在寻找最容易使用的技术。

标签: jquery html rest


【解决方案1】:

要在浏览器中很好地显示 XML 文件,您需要 XSLT。您可以使用 XSLT 将 XML 文档转换为 HTML,因此您可以显示漂亮的表格和漂亮的样式。 XSLT 上的维基百科:

XSLT(可扩展样式表语言转换)是一种声明性的、基于 XML 的语言,用于转换 XML 文档。原文件不变;而是根据现有文档的内容创建一个新文档。 [2]新文档可以由处理器以标准 XML 语法或其他格式(例如 HTML 或纯文本)进行序列化(输出)。 [3] XSLT 最常用于在不同 XML 模式之间转换数据或将 XML 数据转换为网页或 PDF 文档

上手非常简单。我推荐使用 W3Schools:http://www.w3schools.com/xsl/

希望有帮助

【讨论】:

  • 谢谢,但我想我不清楚。我更多地询问在浏览器应用程序中使用 RESTful Web 服务的最佳方式。即最佳技术/实践
【解决方案2】:

您可以使用jQuery.get 轻松完成此操作。

【讨论】:

  • 即使对于远程 Web 服务(即其他人创建),这种标准做法是否也是如此。为浏览器应用程序使用另一个组织 Web 服务的最佳方式是什么
  • 一般来说,由于同源策略,AJAX 请求只允许返回提供页面的服务器。有一些解决方法,例如 en.wikipedia.org/wiki/JSONP 。您还可以考虑创建一个可以从 Web 服务器调用的代理。然后,代理将使用 cURL 或等效项向远程服务发出实际请求。
  • 是的,所以这些看起来像是变通办法。但是,如果明天有人要求您开发一个基于浏览器的应用程序,该应用程序使用 RESTful 远程 Web 服务,您的实现选择是什么?我错过了什么吗?
  • 它们是 en.wikipedia.org/wiki/Same_origin_policy 的解决方法。我已经告诉过你我的实现选择......
  • 解决方法是指可行但并非真正应有的方式。我想知道经验丰富的 Web 开发人员在这种情况下会做什么。所以他们会做的标准事情是使用 JSONP 或创建代理?
【解决方案3】:

Restful 服务仅用于使用来自服务器的数据并将这些数据显示给用户。如果您还希望将数据发布回服务器,您可能需要查看其他选项...(curl、soap、xml-rpc)并进行适当的身份验证检查,以便不会将恶意数据发布回服务器/数据库.

现在,回到你原来的问题,你得到了一个 xml 响应,你想向你的用户显示结果,你可以使用 XSLT 来做到这一点,或者你可以只在服务器端解析 xml并用于向您的用户显示。

【讨论】:

    猜你喜欢
    • 2020-06-15
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多