jsi*_*sky 8 rest grails jax-rs jersey playframework
例如,Play-framework支持这样的RESTful服务:RESTful on Play!骨架
这与Jax-RS Jersey实施相比如何?像Play这样的框架是否会在泽西岛附近运行,因为它的所有功能都很酷,而且它也有REST吗?
开发人员的工作效率很重要,但正确的实现也是如此.也许使用MVC框架仅用于REST服务是"错误的"?
请注意,只有RESTful服务,根本没有UI组件.
小智 11
尽管将MVC框架用于RESTful服务并不"错误",但与使用JAX-RS实现相比,有一些优点和缺点.
(免责声明:我只使用Jersey和Play!为了好玩,而不是生产级别的系统,所以我更倾向于将我的评论量化为MVC与JAX-RS.请记住,这些是广泛的概括.)
MVC框架 - 至少被认为是开发人员友好和"光滑"的框架 - 通常可以使您不必构建持久层(模型部分).大多数还使用通过约定的脚手架或某种形式的配置来简化"路由"请求.缺点是你必须遵守控制器的一些约定,并且通常必须为每个资源编写一个视图(或者构建抽象层以避免重写相同的代码).
JAX-RS擅长定义路由(使用Java注释)以及消除对服务类的任何限制.根据我的经验,这大大减少了样板代码和开发人员开销.Jersey和Apache CXF还使用JAXB注释处理XML或JSON序列化,这消除了在MVC上下文中找出视图的需要.这里的缺点是,你要搞清楚自己的ORM或持久层,这可能是好还是坏取决于你是否正在构建对现有数据或创建一个新建系统(或使用除JPA其他东西的顶部/ RDBMS例如NoSQL数据存储).
我自己的评论:玩!是一个非常酷的框架,但我会在MVC框架上选择CXF(或Jersey)来构建RESTful服务.根据我的经验,这使开发人员可以专注于服务所需的逻辑,并为不同的数据库方法开辟了选项.正确工作的正确工具.
根据经验:对于Scala,请使用Play.对于Java,请使用Jersey.
你可以使用Jersey/Scala和Play/Java; 我做过两件事.有用.这还不错.但除非你有特别的理由这样做,否则我不会混淆生态系统.Java和Scala是可互操作的,但是它们具有不同的生态系统,如果你使用Scala或Scala-isms和依赖项,如果你运行的是Java,我会避免添加Java-isms.
Jersey和Play通常接近REST服务.两者都没有真正的杀手级功能.
Jersey在注释中定义URL映射,Play在服务范围的路由文件中定义它们.它们捆绑或具有不同的集成质量,用于XML,JSON,数据库,测试,模拟,依赖注入库和应用服务器部署等不同的库.
Java世界有JMS,Spring,JUnit,jdbi/hibernate/jpa,Jetty/Grizzly.Scala世界有Akka,specs2/ScalaTest,Anorm/slick.泽西岛更适合第一世界,斯卡拉更适合第二世界.你绝对可以跨越它,但它会有点不那么优雅,可能需要更多的胶水编码.
| 归档时间: |
|
| 查看次数: |
6166 次 |
| 最近记录: |