Laravel + Vue:在web.php / api.php上路由

时间:2018-06-14 11:21:27

标签: php laravel vue.js

我是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文件中?

感谢您的回答我不知道我是否采取了正确的方式。

克莱门特。

1 个答案:

答案 0 :(得分:0)

如果您查看app\Http\Kernel.php,您会注意到网络与api群组之间的区别。

  • 网络 - 流程"标准"请求 - 他们需要一个会话,检查 针对在应用程序中全局登录的用户,处理Web 要求。 Web UI事物
  • api - 处理无状态API请求,很可能总是消耗并返回json

我通常将API路由保存在api.php中,在其前面添加一个版本,然后从API命名空间加载控制器。这使得它更易于维护,因为v1方法可以通过潜在的v2版本进行扩展

Route::prefix('v1')->namespace('Api\V1')->group(function () {
    // ... API routes
});