让Laravel应用程序同时服务于基于浏览器的应用程序,并充当iPhone和Android应用程序的API的最佳实践是什

What's the best practice for having a Laravel application serve both the browser-based application, and act as an API for the iPhone and Android app?

本文关键字:应用程序 Android iPhone API 最佳 服务于 Laravel 浏览器      更新时间:2023-09-26

我们在 Laravel 5.1 中使用存储库模式并将我们的逻辑保存在存储库中,并将数据从存储库返回到控制器,我们如何将相同的数据用于本机应用程序和 Web 浏览器(即 Web 应用程序).....当然数据是 JSON 格式的,所以我们如何在刀片模板中显示相同的数据......我们是否需要为前端使用另一个框架(Angular 或任何其他框架)?

我个人认为你不需要包或框架来实现这一点。由于您遵循存储库模式,因此您的控制器只负责返回结果(也可以选择转换结果以进行输出)。

实现您的目标;

1-对您的API路由(等)进行分组。 Route::group('api/v1' , ...

2-创建一个类甚至更好的特征来检测传入的路由

3-在控制器内或处理JSON转换的类上,检测请求的路由。

4- 如果请求是从 api 路由发出的,则返回 JSON。否则为边栏选项卡模板。

您还可以查看此链接,它将帮助您建立路由检测。还要记住,您也需要这种确切的实现才能在您的ExceptionHandler中实现。你不希望有人在 Web 前端看到 json 错误消息,或者从 API 返回 404 刀片模板。