我想构建一个 RESTful 服务/API。我使用了一些像 play 这样的框架来构建它,但我想尝试其他更有效的方法。听说 Jersey 是构建 REST API 的常用库,Spring 也是一个不错的框架。但我也看到了一些解决方案,比如 Spring+Jersey。因此,我对那些 REST API 解决方案有点困惑。
谁能告诉我它们之间有什么区别? Jersey REST、Spring REST 和 Spring+Jersey REST?
我的目标是构建几个将 JSON 作为输入/输出的 REST API。我有 jar 文件作为后端处理逻辑来处理输入一个 JSON/对象并返回一个 JSON/对象。
最佳答案
Jersey 是 Sun 提供的 JAX-RS API 示例实现,而 Spring REST 当然是 Spring 对相同 API/JSR 的实现。主要区别在于 Spring REST 可以轻松集成到其他 Spring API(如果您愿意),例如 Spring Data Rest .
它们之间有一些值得注意的区别 - 您可以在彼此之间“嵌入”Jersey Resources(在 Spring 中称为 Controllers),以启用一个单独的类负责某个路径的子路径,而目前在 Spring 中似乎不可用(您必须定义完整路径)。此外,在我看来,Jersey 提供了更好的“开箱即用”错误响应(例如为什么它不能使用 Jackson 将 JSON 有效负载映射到 Java bean),而 Spring 的可配置性更高,但更简单,无需额外的工作。
最终,它们之间的选择差异通常归结为 - 您是否已经或计划将任何其他 Spring 库集成到您的应用程序中?如果是这样的话,Spring REST 是您可以更轻松地集成它的方式,否则它实际上只是您更喜欢使用的个人偏好。我个人喜欢 Jersey,但其他相关 Spring 项目的强大功能(例如我强烈推荐的 Spring HATEOAS)使 Spring 成为更好的选择。我认为您的情况不会有真正的决定性因素。
由于您的“黄金”目标是带有 JSON 输入/输出的简单 API,我建议您遵循 Spring REST guide .
关于json - Spring REST 服务、Jersey REST 服务和 Spring+Jersey 解决方案有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26824423/