Tester une méthode et en interpréter les résultats
Vous pouvez utiliser l’explorateur d’interface de protocole d’application pour tester les différentes méthodes. Cette rubrique explique le processus général et offre une explication de la réponse renvoyée par le système. Consultez les rubriques sur chaque type de méthode pour connaître les techniques spécifiques des différentes méthodes.
Le bouton Try It Out! (Essayez!) pour chaque méthode ou ressource interagit directement avec le système. La méthode GET récupère les données réelles, les méthodes POST/PUT créent ou modifient des ressources réelles, et la méthode DELETE supprime des objets réels. Vous apportez de réelles modifications de configuration dans le système, bien que les modifications ne soient pas déployées immédiatement. Pour que les modifications entrent en vigueur, utilisez la ressource POST /operational/deploy pour démarrer une tâche de déploiement.
Vous pouvez trouver le bouton Try It Out! (Essayez!) après la section Response Message (Message de réponse) lorsque vous ouvrez une méthode ou une ressource. Pour certaines méthodes ou ressources, vous devez saisir un identifiant d’objet pour les tester. Dans ce cas, vous devez généralement d’abord utiliser une méthode GET sur la ressource parente. Pour en savoir plus, consultez Trouver l’identifiant de l’objet (objId) et l’identifiant du parent (parentId).
Pour les méthodes POST/PUT, vous devez également définir les valeurs requises dans le modèle JSON.
Après avoir cliqué sur le bouton Try It Out! (Essayez!), l’explorateur d’interface de protocole d’application ajoutera les résultats à la page après le bouton. La réponse comprendra les sections suivantes :
- Curl
-
La commande curl utilisée pour passer l’appel. Par exemple, en cliquant sur le bouton Try It Out! (Essayez!) pour la ressource GET /object/networks, vous recevrez une réponse similaire à ce qui suit. L’élément « v » du chemin change à chaque nouvelle version de l’API.
curl -X GET --header 'Accept: application/json' 'https://ftd.example.com/api/fdm/dernière version/object/networks'
Remarque
Cela ne comprend pas l’en-tête Authorization: Bearer (Autorisation : porteur), qui serait requis dans un appel API de votre client.
- URL de la demande
-
L’URL à faire émettre par votre client pour faire la demande. Par exemple, pour la ressource GET /objet/networks :
https://ftd.example.com/api/fdm/dernière version/object/networks
- Corps de la réponse
-
L’objet que le système renvoie à votre client. Si une ressource peut comprendre plusieurs objets (comme /objet/network), vous obtiendrez une liste d’éléments si vous effectuez une requête GET. Les réponses pour les méthodes POST/PUT/DELETE ne renverront qu’un seul objet.
Le contenu spécifique retourné sera déterminé en fonction du modèle de ressource. Par exemple, la méthode GET /object/networks renverra une liste d’objets, chaque objet ressemblant à ce qui suit (l’indication initiale d’une liste d’éléments sera également affichée). Notez que la valeur links/self indique l’URL que vous utilisez pour faire référence à cet objet; l’identifiant de l’objet est inclus dans l’URL.
{ "items": [ { "version": "900f8558-7d19-11e7-bf7b-3dcaf0c58345", "name": "AIM_SERVERS-205.188.1.132", "description": null, "subType": "HOST", "value": "205.188.1.132", "isSystemDefined": true, "id": "900fac69-7d19-11e7-bf7b-d9417b20e59e", "type": "networkobject", "links": { "self": "https://ftd.example.com/api/fdm/dernière version/ object/networks/900fac69-7d19-11e7-bf7b-d9417b20e59e" } },
Les requêtes GET comprennent également une section de pagination, qui est expliquée dans GET : obtenir des données du système.
- Code réponse
-
Le code d’état HTTP numérique renvoyé pour l’appel HTTP. Il s’agit des codes d’état HTTP standard, que vous pouvez trouver dans les RFC ou dans Wikipédia (à l’adresse https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP par exemple) Par exemple, 200 (OK) indique un appel des méthodes GET/PUT/POST réussi, et 204 un appel DELETE réussi.
- En-têtes de réponse
-
Voici les en-têtes de paquet dans la réponse HTTP. Par exemple, GET /object/networks peut avoir des en-têtes tels que les suivants :
{ "date": "Thu, 10 Aug 2017 19:19:16 GMT", "content-encoding": "gzip", "x-content-type-options": "nosniff", "transfer-encoding": "chunked", "connection": "Keep-Alive", "vary": "Accept-Encoding", "x-xss-protection": "1; mode=block", "pragma": "no-cache", "server": "Apache", "x-frame-options": "SAMEORIGIN", "strict-transport-security": "max-age=31536000 ; includeSubDomains", "content-type": "application/json;charset=UTF-8", "cache-control": "no-cache, no-store, max-age=0, must-revalidate", "accept-ranges": "bytes", "keep-alive": "timeout=5, max=99", "expires": "0" }