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

时间:2017-03-28 07:38:54

标签: angular api web laravel-5 vuejs2

我正在使用laravel-vue用于网站和laravel-api用于移动应用的电子商务项目,我想要了解管理api part或最佳方法的最佳方法实施项目的方式

这些是我对实施此

的想法

1->对apiweb使用相同的控制器,但担心复杂的逻辑和可扩展性

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

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

    return view('agents', compact('users'));
}

2->为api控制器创建单独的namespacenamespace App\Http\Controllers\Api\;

3->使用laravel创建api并使用vue-cli / angular2创建客户端应用程序,以便移动应用程序和Web应用程序可以使用相同的API。 here concerned about SEO

欢迎任何建议

谢谢

1 个答案:

答案 0 :(得分:1)

最好的方法是将所有商务逻辑移到某些特殊类,让call'em服务。因此,您将能够在应用程序的不同部分使用相同的逻辑。

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

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