Rumah > pembangunan bahagian belakang > tutorial php > Menggunakan tanpa membungkus untuk meratakan jawapan API

Menggunakan tanpa membungkus untuk meratakan jawapan API

Robert Michael Kim
Lepaskan: 2025-03-06 02:47:14
asal
847 orang telah melayarinya

Using withoutWrapping to flatten API responses

Sumber API Laravel membungkus respons dalam kekunci 'data' secara lalai. Walaupun berguna untuk banyak senario, kadang -kadang struktur tindak balas yang rata diperlukan dan anda boleh melumpuhkan pembungkus sumber seperti ini.

<!-- Syntax highlighted by torchlight.dev --><?php

namespace App\Providers;

use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        JsonResource::withoutWrapping();
    }
}
Salin selepas log masuk

Berikut adalah contoh bagaimana ini berfungsi apabila anda mempunyai withoutWrapping:

<!-- Syntax highlighted by torchlight.dev --><?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class ArticleResource extends JsonResource
{
    public function toArray($request)
    {
        return [
            &#39;id&#39; => $this->id,
            'title' => $this->title,
            'content' => $this->content,
            'author' => new AuthorResource($this->whenLoaded('author')),
            'metadata' => [
                'views' => $this->views_count,
                'likes' => $this->likes_count,
                'published_at' => $this->published_at
            ]
        ];
    }
}
Salin selepas log masuk

Contoh Respons dengan Pembungkus Dilumpuhkan:

<!-- Syntax highlighted by torchlight.dev -->[
    {
        "id": 1,
        "title": "Laravel Tips",
        "content": "Article content here",
        "author": {
            "id": 1,
            "name": "John Doe",
            "email": "john@example.com"
        },
        "metadata": {
            "views": 150,
            "likes": 42,
            "published_at": "2024-03-15T10:00:00Z"
        }
    }
]
Salin selepas log masuk

Pelaksanaan ini menyediakan struktur API yang bersih sambil mengekalkan fleksibiliti untuk menyesuaikan format tindak balas berdasarkan keperluan aplikasi anda.

Pembungkus sumber boleh dilumpuhkan secara global sementara masih mengekalkan kawalan berbutir ke atas struktur tindak balas API anda, menghasilkan titik akhir yang lebih intuitif dan lebih mudah.

Atas ialah kandungan terperinci Menggunakan tanpa membungkus untuk meratakan jawapan API. 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