WP_REST_Response

Définition : WP_REST_Response est la classe WordPress utilisée pour représenter une réponse REST complète. Elle regroupe les données, le statut HTTP, les en-têtes et des liens vers des ressources associées.

Comprendre et utiliser

À quoi sert cette notion ?

Elle permet d’exprimer précisément le résultat d’une opération, au-delà de retourner un simple tableau PHP qui serait automatiquement sérialisé.

Fonctionnement technique

Elle étend WP_HTTP_Response et ajoute des fonctionnalités de liens et de suivi de la route correspondante. Le serveur REST transforme ensuite cet objet en réponse HTTP pour le client.

Dans quel contexte l’utiliser ?

Après création d’une ressource de test, renvoyer son identifiant avec un statut 201 plutôt qu’une réponse ambiguë.

Étude de cas : application professionnelle

Une intégration professionnelle doit distinguer le contenu du JSON, le statut HTTP et les en-têtes. Après une création, une réponse peut contenir l’identifiant généré et indiquer 201. Après un refus, elle doit annoncer une erreur plutôt qu’un objet de succès vide. WP_REST_Response rend ces informations explicites. Écrire un test qui lit les données mais contrôle aussi le statut, puis vérifier le comportement d’un client JavaScript devant les différents cas. Cette démarche transforme un simple exemple de code en contrat testable de communication.

Exemple technique commenté

Cet extrait est destiné à un fichier PHP chargé par WordPress, idéalement dans un plugin local de test. Il ne doit pas être placé dans l'éditeur de contenu. Avant exécution, vérifier que les objets et variables mentionnés existent dans le contexte et que les permissions nécessaires sont définies.

<?php
$response = new WP_REST_Response(
    array( 'id' => 42, 'message' => 'Création simulée' ),
    201
);
$response->header( 'X-Atolpha-Demo', '1' );
return $response;

Décryptage du code et résultat attendu

Le code construit une réponse fictive sans écrire de données. Le statut 201 doit être réservé à un scénario de création réellement réussi en production.

Exercice guidé pour vérifier la notion

Dans un test local, retourner 200 et 201 selon deux scénarios simulés puis observer le statut reçu côté client.

Précautions et limites

Ne pas déclarer une création réussie lorsque l’écriture a échoué. Les erreurs réelles peuvent être renvoyées au moyen de WP_Error avec un statut HTTP adapté.

À ne pas confondre

WP_REST_Response est l’objet de sortie ; WP_REST_Request est celui de l’entrée. WP_Error représente une erreur plutôt qu’une réponse de succès.

Diagnostic avancé

Lorsque le navigateur affiche des données correctes mais un statut inattendu, inspecter la construction de la réponse et les filtres REST après traitement.

Choix d’architecture et déploiement

Choisir des statuts cohérents, des champs stables et des en-têtes limités aux informations utiles au client.

Références officielles WordPress

Bouton retour en haut de la page