Encoder la requête
Encode un objet de requête en chaîne de requête encodée en URL.
Cette carte fonction est l'inverse de la fonction Décoder la requête.
Pour utiliser cette carte, construisez un objet de requête avec des fonctions Objet comme les cartes fonction Construire, Définir ou Assembler. Utiliser des entrées dynamiques provenant des étapes précédentes est la façon la plus simple de préparer l'objet.
Entrée
| Champ | Définition | Type | Obligatoire |
|---|---|---|---|
|
données |
L'objet de requête. |
Objet | TRUE |
Sortie
| Champ | Définition | Type |
|---|---|---|
|
sortie |
La chaîne encodée pour votre requête. |
Texte |
Délimiteurs et caractères spéciaux
Lorsque vous effectuez des requêtes API, il est essentiel d'encoder les caractères spéciaux afin que le serveur les interprète correctement. Cependant, n'encodez pas les délimiteurs utilisés dans l'URL.
Les caractères spéciaux comprennent les espaces, les signes de ponctuation et les caractères non ASCII. Ces caractères peuvent entraîner des problèmes d'URL si vous ne les codez pas correctement.
Les délimiteurs sont des éléments essentiels de la structure de l'URL, donc ne les encodez pas. Le délimiteur ? pour les chaînes de requête est un caractère littéral à l'intérieur de l'URL. Ce délimiteur sert à ce que le serveur web sache où se termine le chemin et où commence la chaîne de requête.
L'exemple suivant illustre davantage ce concept.
-
Correctement encodée :
https://www.acme.com/api/product/?category=furniture&color=blue%2Fred -
Incorrectement encodée :
https://www.acme.com/api/product/%3Fcategory=furniture&color=blue%2Fred
Le délimiteur ? pour les chaînes de requête est un caractère littéral dans la première URL, mais il est incorrectement encodé en %3F dans la deuxième URL. Ce délimiteur est nécessaire pour que le serveur web sache où se termine le chemin de l'URL et où commence la chaîne de requête.
Remarquez toutefois que le caractère spécial barre oblique / est encodé en %2F à l'intérieur de la valeur du paramètre de requête. Sans cet encodage, il pourrait être mal interprété comme un chemin par les serveurs web.
Exemple
Cet exemple montre comment créer une requête de recherche pour une URL à partir du nom et de la région d'un utilisateur.
Vous pouvez créer une chaîne encodée à l'aide de la carte Encoder la requête et de l'objet suivant comme entrée données :
{
"name": "John Doe",
"region": "North America"
}
Après avoir traversé la carte Encoder la requête, l'objet d'entrée est encodé en la chaîne de requête suivante : name=John%20Doe®ion=North%20America.
Vous pouvez ensuite combiner cette chaîne de requête avec votre URL de base dans une carte fonction Concaténer ou Formater pour créer l'URL complète, par exemple, https://www.example.com/searchcustomers?name=John%20Doe®ion=North%20America.