# Point de terminaison

> URL précise de l'API REST associée à une méthode HTTP et à une action déterminée, comme la lecture ou la création d'une ressource particulière.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/point-de-terminaison/

Derrière une adresse comme `/wp-json/wp/v2/posts/42` se cache une combinaison exacte entre une route et une méthode HTTP : la même URL peut répondre différemment selon qu'elle reçoit une requête GET, POST ou DELETE, chacune étant un point de terminaison distinct.

## Déclaration côté WordPress

Chaque point de terminaison se déclare avec `register_rest_route()`, en précisant la méthode HTTP acceptée, la fonction chargée de traiter la requête, et une éventuelle vérification des permissions :

```
register_rest_route( 'mon-app/v1', '/taches/(?P<id>\d+)', array(
  'methods'  => WP_REST_Server::READABLE,
  'callback' => 'obtenir_tache',
  'args'     => array(
    'id' => array( 'validate_callback' => 'is_numeric' ),
  ),
) );
```

Le motif entre parenthèses dans le chemin capture un paramètre variable, ici l'identifiant de la ressource demandée, transmis ensuite à la fonction de traitement.

## Bon à savoir

- Un même point de terminaison peut accepter plusieurs méthodes à la fois en listant un tableau dans l'argument `methods`, plutôt que de dupliquer l'appel à `register_rest_route()`.
- Sans `permission_callback` explicite, WordPress affiche un avertissement dans les journaux et considère par défaut la route comme publique.
- L'argument `args` peut définir des règles de validation et d'assainissement propres à chaque paramètre, exécutées automatiquement par WordPress avant même l'appel de la fonction de traitement.
- La constante `WP_REST_Server::READABLE` équivaut simplement à la chaîne `GET` ; les deux écritures fonctionnent, mais la constante reste préférable car elle documente mieux l'intention du code.
