我正在构建一个旨在供iOS应用和基于浏览器的Web应用(使用React / AngularJS)使用的API。该API正在Laravel中开发。
这种结构的最佳方法是什么? API和Web应用程序应该是相同的Laravel应用程序的一部分,还是API应该是一个完全独立的实体,只是将JSON返回给任何客户端请求它?在这种情况下,我想我的Web应用程序将与API进行交互,就像它是第三方API一样
答案 0 :(得分:0)
我们已经有了一个成熟的单片应用程序,并决定将代码拆分为称为“核心”,“前端”的存储库,并且对我们的家庭来说是新的,添加了“api”。
也就是说,我们正在使用Microservice pattern,它适用于“我们”。
我们的核心/前端存储库是CakePHP,但API是使用jsonapi 1.0 spec在Laravel 5中编写的。
如果不是这么说,我们非常满意这种做法。它是数据库中表示的唯一规范事物。业务逻辑和代码 是多余的。但是一个有趣的经验教训是,我们在现有代码库中发现了相当多的错误。
清洁分离对于不受某种技术的限制非常重要。我们可能希望用与API通信的节点应用程序替换“前端”堆栈。我们可能希望稍后用其他内容替换API。
当然,这需要大量的工作,资源等,但我们认为,由于整体而无法采取行动。