什么是JSON REST接口

Mel*_*lon 15 java rest json servlets java-server

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

我不确定JAVA中JSON REST界面究竟是什么类型的东西...我需要一些教程才能开始学习,所以...我在这里问.

joe*_*ohn 21

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

RESTful接口是符合REST架构风格的约束和特征的接口.

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

要在Java中实现此类服务,可以使用可以帮助您的框架,例如JerseyRESTEasy.两者都提供了支持JSON的附加组件(用于传入和传出数据).

编辑:

Jersey和RESTEasy都实现了JAX-RS规范,因此可以将它们用作"纯粹的"Java EE处理方式.如果您只想使用Java EE 的Servlet部分来执行此操作,则可能需要执行此操作,例如自己从URI解析路径/模板参数.

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

在你决定如何实现之前,我建议你阅读更多有关REST的内容.这里有一些指示:

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

最后,如果您使用'纯Servlets'路径,您仍然可以使用像Jackson这样的解析器库轻松读取/创建JSON .