Maison > développement back-end > tutoriel php > Utilisation de sans écoute pour aplatir les réponses API

Utilisation de sans écoute pour aplatir les réponses API

Robert Michael Kim
Libérer: 2025-03-06 02:47:14
original
847 Les gens l'ont consulté

Using withoutWrapping to flatten API responses

Les ressources API de Laravel enveloppent les réponses dans une clé «données» par défaut. Bien que utile pour de nombreux scénarios, parfois une structure de réponse plus plate est nécessaire et vous pouvez désactiver l'enveloppe des ressources comme celle-ci.

<!-- 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();
    }
}
Copier après la connexion

Voici un exemple de la façon dont cela fonctionne lorsque vous avez 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
            ]
        ];
    }
}
Copier après la connexion

Exemple de réponse avec emballage désactivé:

<!-- 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"
        }
    }
]
Copier après la connexion

Cette implémentation fournit une structure d'API plus propre tout en maintenant la flexibilité pour personnaliser les formats de réponse en fonction des besoins de votre application.

L'enveloppement des ressources peut être désactivé à l'échelle mondiale tout en conservant un contrôle granulaire sur la structure de réponse de votre API, ce qui entraîne des points de terminaison plus intuitifs et plus faciles à consommer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal