Laravel Api

Restful Api Server

Install api

php artisan install:api 

Create Api Controller

php artisan make:controller Api/CategoryController --api

Implement Controller

class CategoryController extends Controller{
    public function index(){
        return Category::all();
    }
    public function store(Request $req){
        $data = $req->validate(['name' => 'required']);
        return Category::create($data);
    }
    public function show($id){
        return Category::find($id);
    }
    public function update(Request $req, int $id){
        $data = $req->validate(['name' => 'required', 'id' => 'required']);
        $obj = Category::find($id);
        return $obj->update($data);
    }
    public function destroy(int $id){
        return Category::find($id)->delete();
    }
}

Route

Declare route in routes/api.php

Route::apiResource('category', CategoryController::class);

Web Client

GET

$data = Http::get('http://127.0.0.1:8000/api/category');
$data->json();

POST

$ret = Http::post('http://127.0.0.1:8000/api/category', $data);

Run Client with port

php artisan serve -port 8001