laravel - Laravel web.php 仍然相关吗?
问题描述
我是 Laravel 的初学者,我看到很多人使用 RestAPI,因此在 laravel 路由中使用 api.php 而不是 web.php。
我目前正在使用 laravel 开发一个项目,并且只有 CRUD 功能,但我从 web.php 中的所有路由开始。
在 laravel 中使用 web.php 路由仍然相关吗?
我问过我的一些同事,他们确实回答我说使用 api.php 现在是创建项目时最重要的事情。我只是想了解其他开发人员对此的看法。
解决方案
这取决于您要构建什么,如果您要构建一个网站,请使用web.php
您的路由,因为默认情况下应用于它们的中间件与api.php
. 如果您尝试构建 REST API,请使用api.php
. 这些是为不同的目标而设计的,而不是用另一个来代替。
web.php
并且api.php
只是 php 文件,用于对已经为您编写的应用中间件的路由进行分组,您可以在app/Providers/RouteServiceProvider.php上检查其定义,您可以修改、删除或创建自己的定义。只是框架已经为您定义了这两个,这对于让用户每次都定义它们可能太常见了,web 路由需要一个名为 web 的中间件组和一个名为 api 的中间件组,两者都在默认中间件组中进行了描述官方文档。正如那里提到的:
开箱即用,Laravel 带有 web 和 api 中间件组,其中包含您可能希望应用于 Web UI 和 API 路由的常用中间件
api 组只包括限制,而 web 组包括您在 web UI 路由上需要的东西,如 CsrfToken、Session、Cookie 等......
推荐阅读
- django - 如何从 sqlite 迁移到 postgres
- visual-studio - VS2017,VSIX:刚刚创建的 AsyncPackage 没有被实例化
- python - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行附近使用正确的语法",
- sqlite - SQL 逻辑错误 no such table: porting xaf standard security to Sqlite
- java - 每次迭代为任务安排一个新的日期 - Java Spring
- java - 在单个 java 程序的多次运行之间进行缓存
- rest - 保护公共 Java Spring-Boot Web 应用程序的最佳实践
- regex - 无效的表达模式
- neo4j - 如何展示连续“获胜”最多的球队。在 epl 比赛中 Neo4j
- macros - Rust 中的无限递归派生宏?