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

Pengesahan Kaedah HTTP di Laravel

Johnathan Smith
Johnathan Smithasal
2025-03-05 16:14:231018semak imbas

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
}
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);
    }
}
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>
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:
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