Skip to content

Instantly share code, notes, and snippets.

@mohammad76
Last active January 13, 2020 21:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mohammad76/fc4f1ac369efa45d01c521edec71050d to your computer and use it in GitHub Desktop.
Save mohammad76/fc4f1ac369efa45d01c521edec71050d to your computer and use it in GitHub Desktop.
Simple Laravel/Lumen Api CRUD Controller
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
class ApiCrudController extends Controller
{
public function index()
{
$data = User::all();
$response = [
'code' => 200,
'status' => 'success',
'data' => $data,
];
return response()->json($response, 200);
}
public function store(Request $request)
{
$data = User::create($request->all());
$response = [
'code' => 201,
'status' => 'success',
'data' => $data,
];
return response()->json($response, 201);
}
public function show(User $user)
{
$response = [
'code' => 200,
'status' => 'success',
'data' => $user,
];
return response()->json($response, 200);
}
public function update(Request $request, User $user)
{
$data = $user->update($request->all());
$response = [
'code' => 200,
'status' => 'success',
'message' => 'User updated successfully',
'data' => $data,
];
return response()->json($response, 200);
}
public function destroy(User $user)
{
$user->delete();
$response = [
'code' => 204,
'status' => 'success',
'message' => 'User deleted successfully',
'data' => [],
];
return response()->json($response, 204);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment