【问题标题】:Laravel restful api for existing system现有系统的 Laravel restful api
【发布时间】:2020-08-18 01:29:06
【问题描述】:

大家好,我有一个我已经构建的 Laravel 应用程序。我想在不重写方法和控制器等的情况下创建一个 API。例如,我有 routes/web.php,它返回一个包含从业者列表的视图并显示在表格中。

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

现在我想使用相同的方法和相同的控制器来创建一个返回 json 数据而不是视图而不创建新控制器和方法的 API。 这是我在 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】:

您需要在 routes 目录中使用 api.php。然后检查请求是否来自这样的api:

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

或检查您是否不想要多个响应类型(xml、json..)

if( $request->is('api/*'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-08
    • 2018-04-28
    • 2013-09-25
    • 2017-12-10
    • 2013-09-30
    • 2023-01-31
    • 2018-08-22
    • 2017-06-23
    相关资源
    最近更新 更多