【问题标题】:Java framework to use for JSON based web service用于基于 JSON 的 Web 服务的 Java 框架
【发布时间】:2011-09-19 05:15:28
【问题描述】:

我正在编写基于 JSON 的 Web 服务。该服务将接受两种类型的请求:命令(例如 createOrder)和查询(例如 getOrders)。每个请求都需要发送用户凭据(用户名/密码)以进行身份​​验证(可能在 HTTP 标头中)。该服务需要用 Java 实现。

您会为此用例推荐哪些框架?我正在考虑的非常基本的堆栈是由 JSON 框架(如 Jackson)支持的 servlet。它们是您推荐的任何其他框架吗?为什么?不需要或不希望使服务成为 RESTful,但与 Java EE 6 或 Spring 的顺利集成将是一个加分项。

提前感谢您的宝贵时间。

【问题讨论】:

    标签: java json spring java-ee-6 jackson


    【解决方案1】:

    那么我可以让您对RESTful Web ServicesJAX-RS API)感兴趣吗?实现 JAX-RS 的库是JerseyApache CXF,适合允许 JSON Web Service。

    相关的* Post 显示符合 JAX-RS 的 REST 客户端。

    【讨论】:

      【解决方案2】:

      您应该看看spring mvc 并阅读this blog post,其中介绍了使用spring mvc 实现restful WS。

      【讨论】:

      • 为什么选择 Spring MVC?这不是一个演示框架吗?我不需要发送 HTML 响应,只需要 JSON 格式的纯数据。我也不需要 RESTful 协议 - 只需要简单的命令和查询。
      • 我理解你的问题,但是很多人都在使用 spring mvc。
      • @Naresh,Web 服务 MVC 也是一个表示框架(其中表示可以是 XML、JSON、字节数组中的原始数据等)此外,RESTful Web 服务使用 HTTP 响应(一些实现为 MVC 模式)
      • 我必须同意纳雷什的观点。单页应用程序具有从 N 层应用程序中消除一层的巨大好处。 SPA 可以直接与后端通信。在健壮的 MVC 架构中,MVC 层经常使用对后端的服务调用。 MVC 层基本上已被弃用。
      【解决方案3】:

      Play! Framework 绝对符合您的要求。它不是基于 servlet,但可以满足您的所有要求。此外,使用 Play 进行开发非常快,您可以立即建立并运行原型。

      【讨论】:

        【解决方案4】:

        我个人使用带有 JAX-RS 和 jackson 库的 Apache CXF。它们很容易实现,集成也很容易。 JAX-RS 是一个 java 标准,Jackson 库速度很快并且可以处理循环引用,而 Apache CXF 只需要几行配置即可设置并开始运行。加油!

        【讨论】:

          【解决方案5】:

          An Open-Source Services Framework From Apache

          -CXF 旨在提供一种可插入架构,该架构不仅支持 XML,还支持非 XML 类型绑定,例如 JSON 和 CORBA,并结合任何类型的传输。

          -Java EE 集成:在 Apache Geronimo、JOnAS、Redhat JBoss、OC4J、Oracle WebLogic 和 IBM WebSphere 等 Java EE 应用服务器中部署服务 - 独立的 Java 客户端/服务器

          【讨论】: