Présentation de l’API REST
L’API REST est une interface REST (Representational State Transfer) qui vous permet de vous connecter en toute sécurité aux équipements du système d’exploitation Junos de Juniper Networks (Junos OS), d’exécuter des appels de procédure à distance (rpc commandes), d’utiliser une interface graphique de l’explorateur d’API REST qui vous permet d’expérimenter facilement n’importe laquelle des API REST et d’utiliser diverses options de mise en forme et d’affichage. y compris JavaScript Object Notation (JSON).
L’API REST peut être configurée sur les équipements Junos OS à l’aide des commandes disponibles au niveau hiérarchique [edit system services rest] . Une fois configurée, l’API REST devient disponible en tant que rest service, une interface REST qui vous permet d’envoyer rpc des commandes à l’appareil à partir d’un emplacement distant et prend en charge les requêtes GET et POST. Avec l’API REST, vous pouvez :
-
Utilisez les requêtes GET pour envoyer
rpcdes commandes. -
Utilisez les requêtes POST pour envoyer des informations via
rpcdes commandes. -
Récupérez les informations de configuration au format XML, ASCII (texte brut) ou JSON.
-
Récupérez les données opérationnelles au format XML, ASCII ou JSON.
Au niveau hiérarchique [edit system services rest] , vous pouvez configurer et sécuriser le service d’API REST sur un équipement Junos OS, configurer les adresses IP, les numéros de port, les certificats de serveur, les paramètres de contrôle et les options de traçage, et activer un outil d’exploration d’API REST qui vous permet d’essayer les API REST à l’aide d’une interface utilisateur graphique pratique.
Les options d’affichage CLI suivantes sont disponibles :
-
Une
display jsonoption est ajoutée à l’option | (tuyau) commander. Par exemple, la commandeshow interfaces | display jsonCLI affiche les interfaces en notation JSON. -
Une
format="json"option est ajoutée aux commandes du serveur NETCONF pour renvoyer des informations opérationnelles en notation JSON.
La taille de la charge utile de la requête entrante de l’API REST ne peut pas dépasser 1174 Ko.
Solution : segmentez les requêtes d’API REST entrantes en une taille plus petite.
L’API REST prend en charge l’authentification HTTP de base, et toutes les requêtes nécessitent un nom d’utilisateur et un mot de passe codés en base64 inclus dans l’en-tête Authorization. La prise en charge de HTTP et HTTPS est disponible :
-
Vous pouvez utiliser HTTP pour échanger du contenu en utilisant du texte clair si vous n’avez pas besoin d’une connexion sécurisée.
-
Nous vous recommandons d’utiliser HTTPS pour échanger du contenu chiffré à l’aide de l’une des suites de chiffrement disponibles. Vous pouvez configurer l’API REST pour exiger l’authentification du serveur sans authentification du client, ou vous pouvez configurer l’authentification mutuelle.
Une fois l’API REST configurée sur l’appareil, de nouveaux points de terminaison REST sont disponibles pour exécuter des commandes uniques rpc via des requêtes GET ou POST, ou pour exécuter plusieurs rpc commandes via une seule requête POST. Pour plus d’informations , consultez Envoi d’une requête GET à l’API REST et Envoi d’une requête POST à l’API REST .
Junos OS prend en charge l’émission de données d’état opérationnel au format JSON compact. Pour émettre les données JSON dans un format compact, configurez l’instruction json compact au niveau de la [edit system export-format state-data] hiérarchie. Dans le cas contraire, l’appareil émet les données JSON au format non compact par défaut.
L’API REST fournit également une interface graphique appelée Explorateur d’API REST, qui vous permet d’apprendre facilement et rapidement à utiliser l’API REST. Elle est désactivée par défaut et peut être activée en spécifiant set system services rest enable-explorer. Pour en savoir plus sur l’Explorateur d’API REST, consultez Exemple : Utilisation de l’Explorateur d’API REST.
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.
compact 'instruction au niveau de la
[edit system export-format state-data json] hiérarchie.