【发布时间】:2018-11-24 03:56:12
【问题描述】:
我是 Laravel 的新手,我已经开始从事一个项目,我想就选择好的架构获得一些建议。
我决定用 Vue 管理我的前端,用 Laravel 管理我的后端。
我已经开始做的是通过 Laravel 捕获路由并将其发送到我的 Vue 路由以确定要加载的组件等。我正在考虑通过 axios 将“api”调用放入我的 Vue.components 以检索来自我的控制器的数据(JSON 格式),以便将它们显示到我的视图中。
这仍然是“网络”需求。
但我也在考虑我将提供的未来 API。
那么最好的选择是什么?
将一些Route::resource('model', 'Controller') 放入web.php 文件中,然后在我的Vue.components 中调用这些路由,并将Route::resource('model','Controller') 放入我的api.php 文件中?
谢谢你的回答我不知道我是否走对了。
克莱门特。
【问题讨论】:
-
这些只是将您的路线划分为逻辑部分的组。实际上,除了 api.php 有
/api/前缀之外,它没有任何意义。 (web.php:http://example.com/someroute,api.php:http://example.com/api/someroute)。所以在你的情况下,api调用?使用 api.php。此外,经过几年的经营:我认为按照您描述的方式做事是有道理的,而现在您过于担心以正确的方式做事而不是完成它。 -
感谢@ippi 的回复。是的,我听说前缀和中间件添加取决于您放置路由的文件。但是如果你想用 Laravel Passport 保护你的 API 路由,你如何在控制器中轻松地管理它,这取决于 API 请求是来自第三方客户还是通过 Vue.components ?
-
谢谢@ippi 我读到'web'组中间件是在 web.php 路由上激活的,而不是 api.php 路由......
-
@user2917569 没错,由于中间件的设置方式,/api 路由默认是无状态的