我们目前正在使用VueJS作为前端javascript框架,使用Element.io作为CSS框架来开发多页应用程序。
我们不会公开任何Web服务或某种形式的服务。
我们的应用程序具有响应能力-用户可以使用台式机和移动设备创建记录。
我是否需要创建API路由或WEB路由就足够了? 您能想到我需要API路由的任何情况吗?
答案 0 :(得分:2)
Web路由用于前端视图,而API路由则用于API调用,您肯定需要将它们分开,因为您的VueJS将使用JSON来对API进行调用并获得JSON响应,并返回错误代码来处理错误有效率的。
网络控制器:
return view('blade_file')->with(compact('var1', 'var2'));
如果在此处设置错误代码,它将显示该错误代码的刀片文件,例如。 404将在./resources/views/errors/404.blade.php
处显示刀片视图文件,但您的应用程序将期望JSON响应而不是HTML响应。
API控制器:
return response()->json(compact('var1', 'var2'), 200); // success
return response()->json(['error' => 'bad request'], 400); // bad request
如果您在此处设置错误代码,则仍然会得到JSON响应,只是带有指定的错误代码。
结论:
使用不同的API和Web路由将前端和后端分开,因为请求/响应的处理方式不同。
注释:
api
。如果该API仅允许经过身份验证的用户,则您需要将中间件设为auth:api
,并且需要使用Laravel Passport。Api
的命名空间添加到routes/api.php
文件或app/Providers/RouteServiceProvider.php
中的API路由中。