我公司目前有一个Java项目,允许我们运行作业来处理数据。当前项目有一个Web界面,但它相当古老,大多数Web界面都是通过Java Servlet实现的,它将HTML打印到Web浏览器。
我们希望使用相同的核心流程创建REST API,并在将来用不同的实现替换Web界面。最后,我们可能让客户使用REST API。
我的问题是:我理解NodeJS非常强大,从我所阅读的内容来看,在使用JavaScript和JSON集成开发REST API时最有意义。我是否应该尝试使用Java创建REST API,如果是这样,我应该使用JavaEE和Glass Fish,还是应该使用NodeJS构建API,然后让NodeJS服务器调用核心Java服务来处理请求?< / p>
我知道我可能会引入不必要的复杂性,但项目相当大,将项目移植到NodeJS是不可行的。我没有REST API创建(或SOAP)的经验,所以这对我来说是一个新的领域。
感谢您的帮助, 科尔比
答案 0 :(得分:1)
您的目标是创建REST API,以便您的客户可以使用API。 为此,您可以使用:
我的建议:使用Java,因为您当前的应用程序是在Java上。你可以节省时间,因为使用相同的语言。您已具备Java语言技能。您可以使用Spring框架(Spring MVC,Spring Security和Spring Boot)。这些框架提供了一些很棒的功能,并且易于学习。
答案 1 :(得分:1)
由于您当前的应用程序已基于Servlet,因此创建REST API的最简单方法就是在当前应用程序中使用JAX-RS API。您可以从JAX-RS tutorial开始。您可能还希望使用JSON-P在Java对象和JSON之间进行转换。 GlassFish,Payara或任何其他应用程序服务器应该已经提供了开箱即用的API。
如果要使用普通的servlet容器(如Tomcat),可以将Jersey库添加到我们的应用程序中,该应用程序以相同的方式提供支持JAX-RS API的servlet。或者,您也可以使用Spring REST构建REST API。
我不建议仅为REST API使用Node.js - 它会为一个东西引入一种新语言,这可以很容易地用你的应用程序已经使用的Java来完成。最后,您仍然需要将其他Node.js应用程序与当前的Java应用程序连接起来,这很麻烦。您最终可能会在Node.js应用程序和Java应用程序之间创建REST接口,从而使Node.js应用程序变得多余。