【发布时间】:2019-03-24 06:24:41
【问题描述】:
所以我正在使用Laravel 5.7 开发一个项目,并且我想包含一个 RESTful API 以使移动版本与应用程序通信,当然还有网络应用程序本身。
我的问题是,关于路由和控制器的最佳实践是什么,我在这里和其他博客中阅读了一些建议并感到困惑,有些人建议我应该声明一个路由文件供web 应用程序和 API 并为 eg("web" and "mobile") 添加一个标识符,并基于它返回一个视图或 JSON 数据,其他人建议将路由分开(api 和 web ) 但将它们指向相同的控制器方法,认为它比第一个建议更好。
感谢您的帮助。
【问题讨论】:
-
Laravel 已经为你将路由分成 web 和 api 组。您应该阅读文档以查看差异,Laravel 有据可查。最佳实践是基于意见的,并且与 SO 无关。
-
我使用胖模型方法。将所有真正的逻辑放在模型中,控制器只指向这些模型。我还喜欢将所有路由放入 API.php 文件中,并使用护照进行身份验证。您可以使用 CSRF 令牌验证在 Web 上进行所有操作,但我只是喜欢从护照升级安全性,而且开箱即用非常容易设置。 CRUD 逻辑也保留在控制器中,只是更容易并且没有理由为其实例化新模型。除此之外,阅读文档并玩得开心。
-
@Devon 是的,我知道并阅读了文档,但是当我看到其他人使用不同的方法时,我感到很困惑,但无论如何,谢谢您的回答。
-
@Egretos 会检查一下,谢谢。