Rumah > pembangunan bahagian belakang > tutorial php > Pengesahan Kaedah HTTP di Laravel

Pengesahan Kaedah HTTP di Laravel

Johnathan Smith
Lepaskan: 2025-03-05 16:14:23
asal
1016 orang telah melayarinya

HTTP Method Verification in Laravel

Laravel memudahkan pengendalian kata kerja HTTP dalam permintaan masuk, menyelaraskan pengurusan operasi yang pelbagai dalam aplikasi anda. Kaedah

dan method() dengan cekap mengenal pasti dan mengesahkan jenis permintaan. isMethod()

Ciri ini sangat penting untuk membina API yang tenang atau menguruskan penyerahan bentuk kompleks di mana kaedah HTTP yang berbeza -beza mencetuskan logik perniagaan yang berbeza. Ia amat bermanfaat untuk mewujudkan pengawal yang boleh disesuaikan yang bertindak balas secara dinamik kepada jenis permintaan yang masuk.

// Basic method verification
$method = $request->method();  // Returns 'GET', 'POST', etc.
if ($request->isMethod('post')) {
    // Process POST request
}
Salin selepas log masuk
inilah contoh pengendali sumber serba boleh:

<?php

namespace App\Http\Controllers;

use App\Models\Resource;
use Illuminate\Http\Request;

class ResourceController extends Controller
{
    public function handle(Request $request, $id = null)
    {
        return match ($request->method()) {
            'GET' => $this->getHandler($id),
            'POST' => $this->createHandler($request),
            'PUT' => $this->updateHandler($request, $id),
            'DELETE' => $this->deleteHandler($id),
            default => response()->json(['error' => 'Unsupported method'], 405)
        };
    }

    private function getHandler($id = null)
    {
        if ($id) {
            return Resource::with('metadata')->findOrFail($id);
        }
        return Resource::with('metadata')->latest()->paginate(20);
    }

    private function createHandler(Request $request)
    {
        $resource = Resource::create($request->validated());
        return response()->json(['message' => 'Resource created', 'resource' => $resource->load('metadata')], 201);
    }

    private function updateHandler(Request $request, $id)
    {
        $resource = Resource::findOrFail($id);
        $resource->update($request->validated());
        return response()->json(['message' => 'Resource updated', 'resource' => $resource->fresh()->load('metadata')]);
    }

    private function deleteHandler($id)
    {
        Resource::findOrFail($id)->delete();
        return response()->json(null, 204);
    }
}
Salin selepas log masuk
Interaksi Illustrative:

<code>// GET /api/resources/1
{
    "id": 1,
    "name": "Example Resource",
    "status": "active",
    "metadata": {
        "created_by": "john@example.com",
        "last_accessed": "2024-02-01T10:30:00Z"
    }
}

// PUT /api/resources/1 with invalid method
{
    "error": "Unsupported method"
}</code>
Salin selepas log masuk
kaedah

dan method() menawarkan pendekatan berstruktur untuk melaksanakan logik khusus kaedah sambil mengekalkan organisasi kod bersih. isMethod()

Atas ialah kandungan terperinci Pengesahan Kaedah HTTP di Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan