现有系统的Laravel restful api

问题描述 投票:0回答:1

嗨,伙计们,我有一个Laravel应用程序,我已经建立。我想在不重写方法和控制器等的情况下创建一个API. 例如, 我有一个 routesweb.php, 它返回一个包含从业人员列表的视图, 并以表格的形式显示.

Route::get('/admin/practitioners', 'PractitionersController@index');

现在我想用同样的方法和同样的控制器来创建一个API,返回json数据而不是视图,而不需要创建一个新的控制器和方法.这是我在PractitionersController中的方法索引.

 public function index()
    {
        $practitioners = Practitioner::whereApproval_status(1)->get()->sortBy('first_name');
        $pendings = Practitioner::whereApproval_status(0)->get()->sortBy('first_name');
        return view('admin.practitioners.index', compact('practitioners', 'pendings'));
    }
php laravel rest api routes
1个回答
0
投票

你需要在 routes 目录下使用 api.php。然后检查请求是否来自api,像这样。

if (Request::wantsJson()) {
    // return JSON
} else {
    // return view
}

或者检查你是否不需要多种响应类型(xml, json...)

if( $request->is('api/*'))
© www.soinside.com 2019 - 2024. All rights reserved.