Angular 使用现有Web管理Laravel 5.4 API的最佳实践

Angular 使用现有Web管理Laravel 5.4 API的最佳实践,angular,api,web,laravel-5,vuejs2,Angular,Api,Web,Laravel 5,Vuejs2,我正在从事一个电子商务项目,使用laravel vue开发网站,使用laravel api开发移动应用程序,我想就管理api部分的最佳方法或实施项目的最佳方法提出建议 以下是我对实施这一目标的想法 1->对api和web使用相同的控制器,但担心复杂的逻辑和可伸缩性 public function index(Request $request) { $users = User::all(); if ($request->wantsJson()) { //r

我正在从事一个电子商务项目,使用
laravel vue
开发网站,使用
laravel api
开发移动应用程序,我想就管理
api部分的最佳方法或实施项目的最佳方法提出建议

以下是我对实施这一目标的想法

1->对
api
web
使用相同的控制器,但担心复杂的逻辑和可伸缩性

public function index(Request $request) 
{
    $users = User::all();

    if ($request->wantsJson()) {
        //return json-data for mobile app
    }

    return view('agents', compact('users'));
}
2->为api控制器创建单独的
命名空间<代码>名称空间应用程序\Http\Controllers\Api\

3->仅使用laravel创建api,并使用vue cli/angular2创建客户端应用程序,以便移动应用程序和web应用程序可以使用相同的api<代码>这里关注搜索引擎优化

欢迎提出任何建议


谢谢你

最好的方法是将你所有的业务逻辑转移到一些特殊的类,让我们称之为em服务。因此,您将能够在应用程序的不同部分使用相同的逻辑

您肯定应该将控制器与API控制器和web控制器分开。因此,您将能够为API和WEB部件使用不同的中间件

例如,您可能有与某些前端单页应用程序和WEB for admin dashboard(您不需要SPA)相关的API,但使用相同的服务(没有任何代码重复)