【问题标题】:what is JSON REST interface什么是 JSON REST 接口
【发布时间】:2011-07-25 02:22:46
【问题描述】:

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

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

【问题讨论】:

    标签: java json rest servlets java-server


    【解决方案1】:

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

    RESTful 接口是符合REST architectural style 的约束和特征的接口。

    因此,结合两者,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 和将请求分派给另一个对象)。

    我建议您在决定如何实现之前阅读更多关于 REST 的内容。这里有一些提示:

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

    最后,如果您走“纯 Servlets”路线,您可能仍然会发现使用 Jackson 之类的解析器库读取/创建 JSON 会容易得多。

    【讨论】:

    • 如果我想使用纯 servlet 怎么办...如何实现这个 JSON REST 接口?有这方面的教程吗?
    • 恐怕我手头没有任何教程链接 - 我已经用更多信息更新了我的答案。如果可以的话,我当然会推荐使用 JAX-RS 实现。
    • 感谢您的详细回复!我将看看 JAX-RS。问候!
    猜你喜欢
    • 2014-09-30
    • 2012-06-02
    • 2011-10-28
    • 2011-02-06
    • 2010-11-04
    • 1970-01-01
    • 2014-06-02
    • 2011-08-29
    • 2011-07-07
    相关资源
    最近更新 更多