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 一次,就可以将其用于您的前端网站、移动设备,或者也可以将其提供给第三方开发人员。
我希望这能回答您的问题。如果您还有其他问题,请告诉我。谢谢
我要迁移到 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 一次,就可以将其用于您的前端网站、移动设备,或者也可以将其提供给第三方开发人员。
我希望这能回答您的问题。如果您还有其他问题,请告诉我。谢谢