Laravel 5 网站和 API 使用相同的应用程序

Laravel 5 website and API using the same app

我要迁移到 Laravel 5 的应用程序是一个网站及其 API。

API 用于移动应用程序和网站提取数据。

网站不会开发成单页应用,因为我已经有了所有的浏览量,我只是把网站迁移到Laravel 5。

如何在不复制代码的情况下执行以下操作?

例如,允许 /products 使用此 API 端点 (/api/2.0/products) 列出我的所有产品。

同样适用于所有其他路线

您可以通过为您的代码创建存储库来实现。

然后为 API 和网站创建单独的控制器。这样您的代码就不会重复,您可以从控制器和相应的 return 响应访问该存储库。

是的,你可以。我目前正在自己​​做这件事。首先编写基础 API,然后为我自己的网站进行 dogfooding。有一个很好的 laravel 包叫做 Dingo ( https://github.com/dingo/api ),它可以根据您从哪里调用它来提供不同的输出。 如果你简单地从 api.yourwebsite.com/products 调用它,你将得到 JSON。但是如果你在内部调用它,比如 API::get('/products') 你将得到 array/object 无论你返回什么。

所以我有一个使用 API 来呈现自身的网站。这样,您只需编写 API 一次,就可以将其用于您的前端网站、移动设备,或者也可以将其提供给第三方开发人员。

我希望这能回答您的问题。如果您还有其他问题,请告诉我。谢谢