Outil Débogueur REST

De RAD Studio
Aller à : navigation, rechercher

Remonter à Débogueur REST

Outils > Débogueur REST


Le débogueur REST est un outil permettant d'effectuer des requêtes Ad-hoc. Les composants TRESTDataSetAdapter et TClientDataSet convertissent la représentation JSON en ensemble de données.

Avec cet outil, vous pouvez utiliser différentes méthodes d'authentification pour vous connecter à des services comme l'API de Google ou Twitter. Vous pouvez envoyer une requête au service spécifié et voir la réponse.

Le volet Requête

Requête

Utilisez l'onglet Requête pour spécifier les propriétés TRESTClient et TRESTRequest.

Elément Description

Méthode

Liste les méthodes TRESTRequest, comme suit :
POST - soumet les données à traiter à la ressource TRESTRequest.
PUT - met à jour les données pour la ressource TRESTRequest.
GET - demande des données à la ressource TRESTRequest.
DELETE - supprime les données de la ressource TRESTRequest.
PATCH - corrige les données sur la ressource TRESTRequest en mettant à jour uniquement les paires envoyées au sein de ce corps PATCH.

URL

Spécifie la propriété BaseURL du TRESTClient. La propriété BaseURL est la première moitié de l'URL de la requête complète.

Conseil: Appuyez sur Entrée dans ce champ pour envoyer votre requête. Voir Envoyer la requête.

Content-Type

Spécifie la propriété ContentType du TRESTRequestParameterList.

Corps personnalisé

Spécifie la propriété CustomBody du TRESTRequestParameterList.

Paramètres

Utilisez l'onglet Paramètres pour définir l'action réelle à exécuter sur le service et les paramètres TRESTRequest.

Elément Description

Ressource

Spécifie la propriété Resource du TRESTRequest.
La propriété Resource est la seconde moitié de l'URL de la requête complète et représente la chaîne requête réelle.

Paramètres de la requête

Spécifie les paramètres TRESTRequest. Il existe différents types de paramètres :
Les paramètres d'en-têtes prennent la forme key=value et sont intégrés dans l'en-tête HTTP de la requête.
Les paramètres Post/Get prennent la forme key=value. Pour les requêtes HTTP POST, les paramètres Post sont intégrés dans le corps de la requête. Pour les requêtes HTTP GET, les paramètres Get sont intégrés dans l'URL en tant que partie de la chaîne de requête.
Les paramètres de corps ne comportent qu'une valeur et sont intégrés dans le corps de TRESTRequest.
Les paramètres de segment URL prennent la forme key=value et leur valeur est ajoutée à l'URL HTTP avant la chaîne de la requête. Les paramètres de segment URL multiples sont délimités par une barre oblique inverse (\).
Les paramètres de cookie prennent la forme key=value et sont envoyés comme valeurs de cookie.

Ajouter

Ajoute un nouveau paramètre à la liste des paramètres TRESTRequest. Spécifiez le type de paramètre à l'aide de la zone de liste déroulante Genre, le nom du paramètre dans la zone d'édition (TComboEdit) Nom et la valeur du paramètre dans la zone d'édition (TEdit) Valeur.

Modifier

Modifie un paramètre de la liste des paramètres TRESTRequest. Changez le type, le nom ou la valeur du paramètre sélectionné.

Supprimer

Supprime le paramètre sélectionné dans la liste de paramètres TRESTRequest.

Authentification

La majorité des services requièrent une authentification. Un authentificateur est attaché au client et est automatiquement exécuté sur chaque requête traitée.

Elément Description

Méthode

Spécifie les authentificateurs standard attachés aux clients REST.
NONE est utilisé quand le service ne requiert pas d'authentification. Par défaut, la méthode de l'authentificateur TRestClient a la valeur amNONE.
SIMPLE reproduit une authentification de base comme une fiche HTML. TSimpleAuthenticator requiert les valeurs et les noms de clé de Nom d'utilisateur et Mot de passe.
BASIC fait référence à l'authentification de base HTTP. THTTPBasicAuthenticator requiert les valeurs Nom d'utilisateur et Mot de passe pour pouvoir être intégré dans l'en-tête HTTP de la requête.
OAUTH est une méthode qui implique l'interaction de l'utilisateur. L'application qui utilise TOAuth1Authenticator reçoit des tokens du fournisseur de services et doit utiliser ces tokens pour accéder au service.
OAUTH2 reçoit des tokens du fournisseur de services et doit utiliser ces tokens pour accéder au service. Contrairement à TOAuth1Authenticator, TOAuth2Authenticator s'appuie sur HTTPS pour la sécurité ; vous n'avez donc plus besoin de signer une requête.

Nom d'utilisateur

Représente la propriété AuthUsername de TRESTRequestParameterList. TEdit Nom d'utilisateur est activé pour l'authentificateur simple et l'authentificateur de base.

Mot de passe

Représente la propriété AuthPassword de TRESTRequestParameterList. TEdit Mot de passe est activé pour l'authentificateur simple et l'authentificateur de base.

Username-key

Représente la propriété AuthUsernameKey de TRESTRequestParameterList. TEdit Username-key est activé pour l'authentificateur simple.

Password-key

Représente la propriété AuthPasswordKey de TRESTRequestParameterList. TEdit Password-key est activé pour l'authentificateur simple.

Client-ID

Représente la propriété ClientID de TRESTRequestParameterList. TEdit Client-ID est activé pour les méthodes OAUTH et OAUTH2.

Client-Secret

Représente la propriété ClientSecret de TRESTRequestParameterList. TEdit Client-Secret est activé pour les méthodes OAUTH et OAUTH2.

Access-token

Représente la propriété AccessToken de TRESTRequestParameterList. TEdit Access-token est activé pour les méthodes OAUTH et OAUTH2.

Request-token

Représente la propriété AccessTokenSecret de TRESTRequestParameterList. TEdit Request-token est activé pour les méthodes OAUTH et OAUTH2.

OAuth-Assistant

Ouvre une nouvelle fenêtre qui contient toutes les valeurs des paramètres pour les méthodes OAUTH ou OAUTH2. Comme cette fenêtre contient des champs absents de la page principale d'authentification, vous pouvez utiliser différents services comme Google ou Twitter.

Connexion

Utilisez l'onglet Connexion pour spécifier les propriétés Proxy de TRESTClient.

Elément Description

Utiliser le serveur proxy

Cochez le TCheckBox Utiliser le serveur proxy ou laissez la case à cocher décochée pour spécifier si le TRESTClient gère les serveurs proxy.

Serveur proxy

Spécifie la propriété ProxyServer de TRESTClient.

Port proxy

Spécifie la propriété ProxyPort de TRESTClient. La valeur par défaut de ProxyPort (Port proxy) est 0.

Nom d'utilisateur

Spécifie la propriété ProxyUsername de TRESTClient.

Mot de passe

Spécifie la propriété ProxyPassword de TRESTClient.

Boutons pour les requêtes

Elément Description

Envoyer la requête

Configure le serveur proxy si nécessaire, définit les propriétés BaseURL et Resource, ainsi que la méthode TRESTRequest. Cliquez sur le bouton Envoyer la requête pour exécuter TRESTRequest et afficher la réponse.

Nouvelle requête

Rétablit la valeur par défaut des champs des pages Requête, Paramètres, Authentification et Connexion.

Charger la requête

Utilise le composant TOpenDialog pour charger les valeurs des propriétés de TRESTClient, TRESTRequest ou TRESTResponse à partir du fichier sélectionné.

Enregistrer la requête

Enregistre dans un fichier les valeurs des composants TRESTClient, TRESTRequest ou TRESTResponse.

Copier composants

Copie les composants TRESTClient, TRESTRequest et TRESTResponse dans le presse-papiers. Vous pouvez copier ces composants dans le presse-papiers, puis les coller dans le Concepteur de fiches.

Le volet Réponse

Utilisez la page Réponse pour lire les données renvoyées par le service via la classe TRESTResponse.

Dans la zone de groupe, trois libellés affichent la réponse reçue du service : les libellés LastRequest URL et LastRequest Stats se trouvent en haut de la zone de groupe, tandis que le libellé Proxy State est en bas de la zone de groupe.

Elément Description

LastRequest URL

Affiche la propriété BaseURL du TRESTClient.

LastRequest Stats

Contient des informations sur :

  • Response status, qui affiche les propriétés StatusCode, StatusText et ContentLength du TRESTResponse.
  • Execution performance, qui affiche les informations relatives au temps d'exécution :</li>
    • PreProcessingTime  : temps écoulé entre le début de l'exécution et le moment où la requête est transférée au client HTTP réel et transmise au serveur.
    • ExecutionTime  : temps écoulé entre l'envoi de la requête au serveur et la réception de la réponse.
    • PostProcessingTime  : temps écoulé entre la réception de la réponse du serveur et la fin de toutes les tâches de post-traitement (y compris l'analyse JSON).
    • TotalExecutionTime  : temps d'exécution total, c'est-à-dire la somme de PreProcessingTime, ExecutionTime et PostProcessingTime.

Proxy State

Spécifie si le serveur proxy est activé ou non.

En-têtes

L'en-tête de réponse contient des paires (key=value) et des informations comme la date, la taille et le type de fichier que le serveur envoie au client, ainsi que des données concernant le serveur lui-même.

Les champs d'en-tête HTTP récupérés par le serveur diffèrent d'une API à une autre.

Elément Description

ResponseHeader

Affiche la propriété Headers du TRESTResponse.

Body

La réponse contient toutes les données retournées par le service. Ces données incluent le code d'état HTTP, les messages d'erreur (s'il en existe), et bien sûr les données JSON retournées.

Les propriétés suivantes permettent d'accéder aux données de réponse : Content, JSONValue ou RAWbytes.

Elément Description

LabelJSON

Spécifie si :

  • le contenu a une représentation JSON ou pas.
  • l'élément racine JSON est non valide.

Elément racine JSON

Représente la propriété RootElement de TRESTResponse. Insérez l'élément racine voulu dans TClearingEdit Elément racine JSON.

ResponseBody

Affiche toutes les données retournées par le service, qui se trouvent juste après l'en-tête.

Appliquer

Limite le contenu du corps de la réponse affiché, en fonction de la propriété RootElement.

Données tabulaires

La réponse au format JSON d'un service peut être transformée en classe descendante de TDataSet avec un adaptateur d'ensemble de données.

Chaque objet JSON est un nouvel enregistrement dans l'ensemble de données. Les propriétés des objets JSON forment généralement les colonnes de l'ensemble de données.

Elément Description

StringGrid

Affiche la réponse organisée comme un ensemble de données.

Précédent

Installation du débogueur REST

Suivant

Utilisation du débogueur REST