Laravel:routes/api.php 或 routes/web.php 中的 AJAX 请求端点?

Posted

技术标签:

【中文标题】Laravel:routes/api.php 或 routes/web.php 中的 AJAX 请求端点?【英文标题】:Laravel: AJAX request endpoints in routes/api.php or routes/web.php? 【发布时间】:2017-11-23 01:10:36 【问题描述】:

我有一个 Laravel 应用程序,我可以在其中从前端异步获取和更新数据。我的问题是:AJAX 请求的端点是否进入routes/api.phproutes/web.php

【问题讨论】:

【参考方案1】:

通常在web.php 中,因为路由将使用“web”中间件来访问会话和其他与 web 相关的中间件(CSRF ecc..)

api.php 专用于“无状态”API 调用,您不想使用会话,而是使用无状态的特定功能,例如 api 身份验证限制等

【讨论】:

【参考方案2】:

routes/web.php 文件定义了适用于您的 Web 界面的路由。这些路由分配给web 中间件组,该组提供session stateCSRF protection 等功能。所以通常你所有的路由都有web中间件去routes/web.php

如果您的路由有api 中间件,那么它将转到routes/api.php

【讨论】:

以上是关于Laravel:routes/api.php 或 routes/web.php 中的 AJAX 请求端点?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 如何从子域 URL 中删除“api”前缀

Laravel 5.3 中以 API 为中心的应用程序

Laravel 的路由

你可以拥有你的 API 并在 Laravel 中吃(消费)它吗?

后端的 Laravel VueJS 路由器

Laravel 5.4:API 路由列表