The best thing about Laravel is it allows you easy handle ajax requests and return model in JSON format. For typical cases I have ajax requests in same controller:
if ($Request->ajax()) {
return $model;
} else {
return view(..., ['model' => $model]);
}
However, for APIs you need a different namespace, base API/REST controller and separate controller for each module/domain. For example, I can have app/Http/Controllers/UsersController and app/Http/Controllers/Api/UsersController and different routes file for it with group, namespace and middleware for APis.