我正在使用laravel-vue
用于网站和laravel-api
用于移动应用的电子商务项目,我想要了解管理api part
或最佳方法的最佳方法实施项目的方式
这些是我对实施此
的想法 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控制器创建单独的namespace
。 namespace App\Http\Controllers\Api\;
3->使用laravel创建api并使用vue-cli / angular2创建客户端应用程序,以便移动应用程序和Web应用程序可以使用相同的API。 here concerned about SEO
欢迎任何建议
谢谢
答案 0 :(得分:1)
最好的方法是将所有商务逻辑移到某些特殊类,让call'em服务。因此,您将能够在应用程序的不同部分使用相同的逻辑。
您绝对应该将控制器与API控制器和Web控制器分开。因此,您将能够为API和WEB部件使用不同的中间件。
例如,您可能拥有与某些前端单页面应用程序和WEB for admin仪表板(您不需要SPA)相关的API,但使用相同的服务(没有任何代码重复)。