我们有一个使用CodeIgniter开发的流行网络应用程序。现在我们想通过RESTful API公开我们的数据。
一旦完成,我们将重建前端,使其仅作为我们API的客户端。
人们建议我应该为这个API使用NodeJS(或像SINATRA这样的类似框架)。 我对此几乎没有任何疑问,我相信经验开发者可以提供帮助。
如果我选择NodeJS,我在哪里放置业务逻辑? 在NodeJs代码本身?或者,NodeJS代码是否只是在更复杂的框架中实现的API客户端和业务逻辑之间的接口?
我在这里假设现有代码不太可重复使用。
答案 0 :(得分:2)
如果我选择NodeJS,我在哪里放置业务逻辑?
不是Node.js的问题,这是RESTful API的问题。从基于浏览器的常规Web应用程序转变为纯REST REST Web服务将在您的业务逻辑中引入一些变化(使用RESTful API,您的客户端和您的服务将交换资源的表示,这将移动部分业务逻辑给客户。)
首先,您应该开始将应用程序转换为一组(特定于域)资源,对这些资源的操作(基于HTTP谓词)以及这些资源的适当表示(即JSON,XML)。我建议您首先阅读原始的REST article,以及关于如何设计此类API的咨询eixisting API文档。
接下来是您的实现,其中node.js可以是多种方法之一。在选择node.js时,我建议您在node.js中使用RESTful API的现有模块,因为它为您提供了有趣的功能,例如路由。请查看journey或restify
答案 1 :(得分:0)
我不确定NodeJS是否适合在这种情况下使用(确定,说#34;使用nodejs"这些天,但除非工具适合需要,不要使用它。)
您是否看过那些PHP的REST框架?例如FAPI