The $user variable will be dynamically bound to an App\User as long as the route URI contains a {user} variable.
So in your routes/web.php:
Route::get('/users/{user}', 'UsersController@show');`
Your show method:
public function show(User $user)
{
return $user;
}
Will output JSON of the $user. The route's user key will be an ID of the user unless you change it, so it'll basically work the same way you are expecting, you just don't have to find the user yourself.
So basically:
GET /users/1
Will return the User with an ID of 1.
Hope this helps! Let me know if you need more details.
Note: You will get a 404 response if the user does not exist, by the way.