Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAX-RS、Playframework scala(REST后端)、Web Api的优缺点_Java_Scala_Rest_Asp.net Web Api - Fatal编程技术网

Java JAX-RS、Playframework scala(REST后端)、Web Api的优缺点

Java JAX-RS、Playframework scala(REST后端)、Web Api的优缺点,java,scala,rest,asp.net-web-api,Java,Scala,Rest,Asp.net Web Api,首先,我不确定这个问题是否适合这里。然而,我想不出一个更好的地方来寻求帮助。我的任务是列出这些{JAX-RS、PlayFrameworkScala、MSWebAPI}的优缺点。我做了一些研究,但无法得出结论,因为我没有在很大程度上使用这三种方法。已经使用playframework创建了简单的REST应用程序。已阅读Web Api教程,但尚未实现任何内容。对JAX-RS进行了研究,但也没有实现任何东西。此外,我们的大多数开发人员都熟悉C#和入门级Java。由于Scala、Akka、无服务器重启和可

首先,我不确定这个问题是否适合这里。然而,我想不出一个更好的地方来寻求帮助。我的任务是列出这些{JAX-RS、PlayFrameworkScala、MSWebAPI}的优缺点。我做了一些研究,但无法得出结论,因为我没有在很大程度上使用这三种方法。已经使用playframework创建了简单的REST应用程序。已阅读Web Api教程,但尚未实现任何内容。对JAX-RS进行了研究,但也没有实现任何东西。此外,我们的大多数开发人员都熟悉C#和入门级Java。由于Scala、Akka、无服务器重启和可伸缩性等原因,我更倾向于playframework,但不清楚缺点。我可以肯定的是,JAX-RS是标准的JavaEE,WebAPI是标准的MS。以下是一些应用程序要求:

  • 纯粹的REST后端
  • 正确的身份验证和授权
  • 在线安全支付{Paypal etc}
  • 适用于移动和桌面的单一前端 {角度/主干/淘汰..}
  • 允许用户作为公司或公司的一部分进行订阅
  • 能够连接到不同的数据库而无需重新启动应用程序
  • 代码维护和可读性。其他成员应该能够轻松地接机
  • 可伸缩性

    • 这是一个部分答案,因为我只使用playframwork 2.0和JAX-RS

      Playframework是一个MVC框架,您可以使用它来创建一些REST服务,但它并不专注于此类应用程序,因此至少在2.0版中,添加拦截器等复杂行为并不容易。您应该自己管理身份验证,我不知道在最新版本的play framework中这是否得到了改进

      JAX-RS是创建REST服务的规范,有以下几种实现 泽西,休息轻松,在其他人之间休息。因此,JAX-RS实现是专门为在java中提供REST服务而构建的。大多数实现都支持多种身份验证机制,如OAuth等

      根据我的经验,JAX-RS更好地提供RESTful web服务,并且生成的代码通常比在playframework中生成的代码更易于维护,而且playframework有很多您可能不需要使用的东西,但无论如何,当您启动服务器时,它都会加载到内存中。Akka这是一项很酷的技术,但是如果您想在任何JAX-RS实现中使用它,您都可以使用它

      如果您想使用Scala构建REST服务,可以尝试Scalatra

      如果您更喜欢java,请看一看,它是一个嵌入式服务器,具有Jersey(JAX-RS的一个实现)和许多很酷的东西来提供RESTful web服务,如度量等,而且很容易学习。如果您的团队不具备高级java知识,那么这是一个不错的选择


      如果您想要一个易于学习的MVC,特别是对于非java程序员来说,Playframework非常好,但根据我的经验,它显然不是构建基于RESTful Web服务的应用程序的合适工具。

      非常感谢,我们将拭目以待,看看是否有更好的答案。确实签出了dropwizard,但它似乎仍在使用JAX-RS 1,而且似乎进展缓慢。