gpt4 book ai didi

api - Web 应用程序和 API 在同一个 Laravel 项目中?

转载 作者:行者123 更新时间:2023-12-02 17:33:54 25 4
gpt4 key购买 nike

我正在尝试找出构建我即将开始的新项目的最佳方法。

我们目前有一个网络应用程序和一个移动应用程序,它们都通过 API 提供数据。目前,Web 应用程序是在安装 CodeIgniter 时完成的,而 API 是在单独安装 CodeIgniter 时完成的。对于数据,Web 应用程序调用 API,然后处理返回的数据。

此时看来,我们正在为 Web 应用程序切换到 Laravel,我认为这可能是重做 API 的好机会,因为我们的一些规则已经发生了变化,现在可能是时候了完全关闭 CodeIgniter。

现在回答这个问题:我读过一些资料,人们将他们的 Web 应用程序和 API 构建到同一个 Laravel 项目中,并且仅使用路由来分别控制 API 和 Web 应用程序的映射。虽然这似乎是一个有趣的想法,但它让我想知道这是否是最佳实践,因为我想知道大量的 API 流量是否会减慢 Web 应用程序的速度,反之亦然。

问题:

最佳实践是在自己的项目中保持 API 解耦还是可以在同一个项目中进行?

后续问题

Web应用通过API进行调用,如果不解耦,是否只是调用API路由?最好去上课?

最佳答案

我认为你有两个选择:

  • 仅使用 Laravel 构建 API(到处都有 Response::json),然后使用 Angular 或 jQuery 等 JS 框架构建 Web 应用程序。 Web 应用程序和移动应用程序都可以向 Laravel 应用程序发出 AJAX 请求,并且 JS 框架将处理显示它。这将是“不在同一个地方构建 api + web 应用程序”的解决方案。您可以在任何您想要的地方构建 Web 应用程序,或者在 Laravel 应用程序本身内部构建。

    API 很容易维护,您甚至可以合并 Web 应用程序和移动应用程序,因为它们都会执行相同的操作(除非您实际上希望它们不同)。此外,它更容易扩展,因为接口(interface)在任何 API 消费者应用程序中都保持不变。

    这会有很大帮助:https://laracasts.com/series/incremental-api-development

  • 在同一位置构建 API 和 Web 应用程序,需要将您的应用程序分为两部分:一部分响应 AJAX 请求并返回 JSON,另一部分以正常方式响应,返回 php View 和所有这些..

    这意味着大量的额外工作和双倍的 View 量,因为您必须构建由移动应用程序处理的 View 和由 Laravel 本身处理的 View 。有很多内容需要涵盖和维护(和测试)。

这取决于您正在构建什么类型的项目。是SPA吗?

关于api - Web 应用程序和 API 在同一个 Laravel 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24423071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com