Maison > Tutoriel CMS > WordPresse > Ajout de routes personnalisées à l'API WordPress REST

Ajout de routes personnalisées à l'API WordPress REST

Lisa Kudrow
Libérer: 2025-02-09 10:44:09
original
924 Les gens l'ont consulté

Adding Custom Routes to the WordPress REST API

WordPress REST API ROUTING CUSTOM: Un outil puissant pour étendre les fonctionnalités de l'API

Cet article explore les capacités de routage personnalisées de l'API WordPress REST et montre comment créer des solutions API personnalisées. Le routage personnalisé fournit plus de contrôle et d'évolutivité granulaires que d'utiliser uniquement le routage par défaut.

Points de base:

  • L'API WordPress REST est hautement personnalisable, permettant aux développeurs d'ajouter des itinéraires et des points de terminaison personnalisés pour répondre aux besoins spécifiques.
  • Utilisez la fonction register_rest_route() et combinez l'action rest_api_init pour ajouter un itinéraire personnalisé. Vous devez spécifier un espace de noms, un chemin de routage et un tableau de points de terminaison contenant des méthodes, des fonctions de rappel et des informations d'autorisation.
  • Les points de terminaison peuvent définir des méthodes HTTP spécifiques (obtenir, publier, mettre, supprimer) et spécifier leurs champs de données acceptés, les valeurs par défaut, les règles de nettoyage et de vérification.
  • La fonction de rappel d'autorisation dans le point de terminaison garantit que seules les demandes d'autorisation peuvent accéder à l'itinéraire, en améliorant la sécurité en vérifiant les autorisations des utilisateurs ou en personnalisant des méthodes d'autorisation.
  • Le routage et les points de terminaison personnalisés fournissent un moyen plus structuré et sécurisé d'étendre l'API WordPress REST, contrôlant précisément l'entrée et la sortie de données, devenant un outil puissant pour les développeurs afin d'améliorer les projets WordPress.

Au-delà de la route par défaut: construire des possibilités infinies

La plupart de la discussion sur l'API WordPress REST se concentre sur l'interrogation de l'itinéraire par défaut, ce qui le fait ressembler à une seule API, comme l'API Twitter. Cependant, l'API WordPress REST n'est pas une seule API, mais une collection de millions d'API hautement personnalisables qui peut également être utilisée comme outil pour construire des API. Le routage par défaut est une solution de compromis pour de nombreuses exigences du site, et toutes les tâches ne peuvent pas être effectuées par défaut de routage par défaut.

Tout comme WordPress n'est pas seulement un objet WP_Query global, l'API REST n'est pas seulement une API par défaut. L'utilisation du routage par défaut, c'est comme ne jamais créer votre propre objet WP_Query dans un projet WordPress traditionnel, ni remplacer la requête par défaut dans

. Bien que possible, tous les travaux ne peuvent pas être effectués uniquement par défaut de routage d'URL WordPress par défaut. pre_get_posts Il en va de même pour l'API

REST. Ryan McCue, développeur co-dirigé de l'API REST, a mentionné que la deuxième version du projet est divisée en deux parties: le routage par défaut et l'infrastructure qui crée des API reposantes. Le routage par défaut fournit un bon exemple pour créer des itinéraires personnalisés.

Ajouter un itinéraire: fonction register_rest_route()

L'API REST La deuxième édition introduit une nouvelle fonction appelée

qui permet d'ajouter des routes à l'API REST et de passer dans un tableau de points de terminaison. Pour chaque point de terminaison, non seulement il est fourni pour gérer la demande, mais il peut également définir les champs requis dans la requête, y compris les valeurs par défaut, les rappels de propreté et de validation, et séparer les rappels d'autorisation. register_rest_route()

Cet article se concentrera sur trois aspects: les fonctions de rappel, les paramètres de champ et la vérification de l'autorisation. Sites Web de commerce électronique basés sur les téléchargements (EDD).

Définissez l'itinéraire: espace de noms et chemin d'itinéraire

Lors de la définition d'un itinéraire personnalisé, utilisez la fonction

dans l'action rest_api_init. Cette fonction accepte quatre paramètres: register_rest_route()

  1. Espace de noms: Tous les routes doivent être nommées spatialisées comme le segment URL suivant après "WP-JSON". L'espace de noms de l'itinéraire par défaut est . Les espaces de noms évitent les conflits de routage. wp

  2. Chemin de route: URL après l'espace de noms. Par exemple, "/ produits" ou "/ produits / (? P [d])" (permet d'utiliser des nombres dans le dernier segment URL, tel que le post-id).

  3. Tableau de point de terminaison: Définissez le point final de l'itinéraire, y compris les méthodes, les fonctions de rappel, les paramètres, etc.

  4. Paramètres (facultatif): override La valeur booléenne pour gérer les conflits avec les itinéraires définis. La valeur par défaut est , tentez de fusionner l'itinéraire; false true

Définir les points de terminaison: méthodes et champs

Le point final doit définir une ou plusieurs méthodes de transport HTTP (obtenir / post / put / supprimer). Les méthodes peuvent être définies à l'aide de constantes dans la classe

, telles que

(seules les demandes d'obtention sont autorisées) ou WP_REST_Server (toutes les méthodes sont autorisées). WP_REST_Server::READABLE WP_REST_Server::ALLMETHODS Lors de la définition d'un champ, vous pouvez spécifier la valeur par défaut du champ, nettoyer la fonction de rappel, etc. Cela permet à la fonction de rappel de faire confiance aux données qu'il reçoit.

Fonction de rappel et fonction de rappel d'autorisation

La fonction de rappel pour chaque point de terminaison (spécifié dans la touche

) est la méthode pour laquelle la demande sera envoyée (si la fonction de rappel d'autorisation passe). La fonction de rappel d'autorisation (spécifiée dans la touche

) vérifie si l'utilisateur actuel a la permission d'accéder au point de terminaison. callback permission_callback

Traitement et répondant aux demandes

La fonction de rappel reçoit l'objet

et peut utiliser la méthode

pour obtenir les paramètres nettoyés et vérifiés. Vous pouvez utiliser la fonction WP_REST_Request pour créer des objets get_params() pour vous assurer que la réponse est dans le format JSON correct et inclure les en-têtes nécessaires. rest_ensure_response() WP_REST_Response

Résumé: API personnalisée, possibilités illimitées

Le routage par défaut de l'API REST WordPress est très utile, mais le routage personnalisé fournit plus de contrôle et d'évolutivité. La création d'un itinéraire personnalisé est une solution efficace lorsque l'itinéraire par défaut ne répond pas aux besoins.

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