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,然后为我自己的网站编写狗粮。有一个很好的 laravel 包叫做 Dingo(https://github.com/dingo/api ),它可以根据你从哪里调用它提供不同的输出。如果你简单地从 api.yourwebsite.com/products 调用它,你会得到JSON。但是如果你像API::get('/products')一样在内部调用它,你会得到数组/对象,无论你返回什么。

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

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

您可以通过为代码创建存储库来做到这一点。

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