ホームページ > バックエンド開発 > PHPチュートリアル > 並んで使用してAPI応答をフラット化します

並んで使用してAPI応答をフラット化します

Robert Michael Kim
リリース: 2025-03-06 02:47:14
オリジナル
848 人が閲覧しました

Using withoutWrapping to flatten API responses

LaravelのAPIリソースは、デフォルトで「データ」キーに応答をラップします。多くのシナリオには役立ちますが、時にはより平坦な応答構造が必要であり、このようなリソースラップを無効にすることができます。

<!-- 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();
    }
}
ログイン後にコピー
ここに、これがどのように機能するかの例があります

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
            ]
        ];
    }
}
ログイン後にコピー
の例:

<!-- 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"
        }
    }
]
ログイン後にコピー
この実装は、アプリケーションのニーズに基づいて応答形式をカスタマイズする柔軟性を維持しながら、よりクリーンなAPI構造を提供します。

リソースラッピングは、APIの応答構造に対する粒状制御を維持しながら、グローバルに無効にすることができます。

以上が並んで使用してAPI応答をフラット化しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート