WP_REST_Request

Définition : WP_REST_Request est la classe WordPress représentant une requête adressée à la REST API. Elle rassemble méthode HTTP, route, en-têtes et paramètres issus du chemin, de l’URL ou du corps.

Comprendre et utiliser

À quoi sert cette notion ?

Elle fournit une abstraction cohérente au code métier et évite de dépendre directement de tableaux superglobaux PHP dans les gestionnaires d’endpoint.

Fonctionnement technique

Le serveur construit ou reçoit cet objet puis transmet ses données à la callback de l’endpoint. Des méthodes dédiées distinguent les paramètres JSON, de requête et de chemin.

Dans quel contexte l’utiliser ?

Lire l’identifiant d’une ressource et les options de filtrage transmis par un tableau de bord externe.

Étude de cas : application professionnelle

Une même requête REST peut contenir un identifiant dans le chemin et des options dans la query string. Si un programme mélange les sources, il risque de consulter la mauvaise publication ou d’ignorer un paramètre transmis. WP_REST_Request offre des méthodes adaptées pour isoler ces sources. Dans un environnement local, créer une route contenant un groupe id et ajouter une query string de pagination. Afficher seulement un diagnostic non sensible de la requête pour vérifier les données reçues. Revenir ensuite à une validation stricte des arguments enregistrés.

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
function atoolpha_rest_demo( WP_REST_Request $request ) {
    $id = absint( $request->get_param( 'id' ) );
    return rest_ensure_response( array( 'id' => $id ) );
}

Décryptage du code et résultat attendu

La callback lit un paramètre fusionné et le convertit en entier positif. L’enregistrement de route et la permission sont volontairement séparés de cet exemple.

Exercice guidé pour vérifier la notion

Dans un plugin local, créer une route de lecture dotée d’un paramètre id ; comparer son contenu lorsque l’identifiant provient du chemin et de la query string.

Précautions et limites

Les paramètres fusionnés peuvent provenir de plusieurs emplacements : leur schéma doit préciser les règles de validation. Ne pas utiliser un identifiant non vérifié pour accéder à des données privées.

À ne pas confondre

WP_REST_Request représente l’entrée ; WP_REST_Response représente la sortie. Aucun des deux n’effectue à lui seul une vérification métier.

Diagnostic avancé

Si un paramètre semble ignoré, inspecter get_url_params(), get_query_params() et get_json_params() pour identifier la source réellement utilisée.

Choix d’architecture et déploiement

Faire accepter des objets WP_REST_Request aux services REST, mais ne pas transmettre l’objet HTTP dans les couches métier qui n’en ont pas besoin.

Références officielles WordPress

Bouton retour en haut de la page