什么是 JSON REST 接口

2022-09-03 13:48:15

有没有关于JSON RESTful接口(使用JAVA servlet)的教程?目的是调用外部 REST 接口获取数据,并由客户端(javascript 客户端)处理数据。

我不确定JAVA中的JSON REST接口到底是什么样的东西......我需要一些教程来开始学习,所以...我在这里问。


答案 1

JSON是一种基于JavaScript子集的轻量级数据序列化格式。

RESTful 接口是符合 REST 体系结构样式的约束和特征的接口。

因此,将两者结合起来,JSON RESTful接口是遵循REST架构风格并使用JSON作为其数据表示格式(通常是内容类型)的接口。application/json

要在Java中实现这种服务,有一些框架可以帮助你,比如泽西岛RESTEasy。两者都提供支持 JSON 的其他组件(用于传入和传出数据)。

编辑:

Jersey和RESTEasy都实现了JAX-RS规范,因此可以使用其中任何一个作为“纯”Java EE的做事方式。如果您只想使用Java EE的Servlet部分来执行此操作,这是可能的,但是您必须自己从URI解析路径/模板参数之类的事情。

您可能会发现很难使用元素来描述您的资源 URL,这可能会导致您实现看起来非常像 JAX-RS 的东西(如果您最终得到一个解析 URI 并将请求分派到另一个对象的控制器 servlet)。servlet-mapping

我建议在你决定如何实现这一点之前,阅读更多关于REST的内容。以下是一些提示:

  • 客户端和服务器之间的通信应该是无状态的。避免 .HttpSession
  • REST 以资源为中心,而不是以操作为中心(如 RPC)。想想你的服务公开并提供这些 URI 的资源。
  • REST 资源通过公共接口进行操作。对于 HTTP 服务,此接口由 HTTP 谓词(GET、POST、PUT、DELETE 等)定义。请务必阅读 RFC 2616 的第 9 节,以了解每个动词的语义以及有关它们应该做什么和不应该做什么的规则。
  • 研究 RFC 2616 中的响应状态代码和原因短语。这些是通用界面的一部分。
  • RESTful 服务返回资源的表示形式。表示形式具有内容类型,请确保设置此标头,以便客户端可以理解您的响应。

最后,如果你走“纯Servlets”路线,你仍然可能会发现使用像Jackson这样的解析器库阅读/创建JSON要容易得多。


答案 2