我想构建一个宁静的服务/ API.我使用了一些像play这样的框架来构建它,但我想尝试其他更有效的方法.我听说Jersey是用于构建其余API的通用库,而Spring也是一个很好的框架.但我也看到了像Spring Jersey这样的解决方案.因此,我对其他API解决方案感到有点困惑.
谁能告诉我这些有什么区别? Jersey REST,Spring Rest和Spring Jersey Rest?
我的目标是构建一些以json作为输入/输出的rest API.我有jar文件作为后端进程逻辑来处理输入json / object并返回json / object.
非常感谢.
解决方法:
Jersey是Sun提供的JAX-RS API示例实现,而Spring REST当然是Spring对相同API / JSR的实现.主要区别在于Spring REST可以轻松集成到其他Spring API(如果您愿意),例如Spring Data Rest.
它们之间存在一些值得注意的差异 – 您可以将Jersey资源(在Spring中称为控制器)“嵌入”彼此之间,以启用一个单独的类来负责某个路径的子路径,而这不是现在似乎在Spring中可用(您必须定义完整路径).另外,在我看来,Jersey提供了更好的“开箱即用”错误响应(例如为什么它不能使用Jackson将JSON有效负载映射到Java bean),而Spring可以更加可配置,但没有一些额外的工作.
最后,它们之间的选择差异通常归结为 – 您是否已经或者您是否计划将任何其他Spring库集成到您的应用程序中?如果是这样,Spring REST就是您的选择,因为您可以更轻松地集成它,否则它实际上只是您更喜欢使用的个人偏好.我个人喜欢泽西岛,但其他相关的Spring项目的力量(如我强烈推荐的Spring HATEOAS)使得Spring成为更好的选择.我不认为你的案件会有一个真正的决定因素.
由于您的“黄金”目标是带有JSON输入/输出的简单API,我建议您按照Spring REST guide进行操作.