Accéder au contenu principal Passer au contenu complémentaire

Problèmes d'encodage avec le signe +

Le comportement de l'encodage dans Talend Cloud API Tester a été modifié. Cela peut causer des problèmes pour les requêtes contenant un signe +.

L'encodage a changé au sein de Talend Cloud API Tester, passant de Webform à encodage-pourcent. Cette modification a été effectuée pour améliorer le support des API OData, comme celles générées dans Talend Cloud Data Inventory . La modification n'a aucun impact, sauf si vous utilisez des paramètres de requête contenant un ou plusieurs signes plus (+) devant être interprétés comme espaces.

Le signe + n'est plus interprété comme encodage par Talend Cloud API Tester, ce qui signifie que l'option Encode before sending (Encoder avant envoi) est activée par défaut sur les paramètres de requête contenant un +. Si cette option n'est pas désactivée, le signe + est encodé comme %2B et interprété comme un signe + réel et non comme un espace.

Pour éviter ce problème, vous pouvez :
  • Désactiver l'option Encode before sending (Encoder avant envoi) de votre paramètre de requête.
  • Remplacer les signes + par des espaces ou par le nouvel encodage pour les espaces : %20.

Pour plus d'informations concernant la fonctionnalité d'encodage, consultez Encodage des paramètres de requête.

Exemple

Si vous recherchez Leia Organa dans l'API Star Wars, vous pouvez utiliser :
  • https://swapi.dev/api/people/?search=Leia Organa : dans ce cas, le paramètre de requête est encodé.
  • https://swapi.dev/api/people/?search=Leia%20Organa : dans ce cas, le paramètre de requête n'est pas encodé.
Avec ces deux options, la requête retourne le résultat attendu et l'onglet HTTP affiche la requête au format encodage-pourcent.
Avec le comportement précédent, https://swapi.dev/api/people/?search=Leia+Organa aurait eu le même résultat. Cependant, avec l'encodage actuel, le paramètre de requête est encodé par défaut. Cette requête ne retourne aucun résultat et l'onglet HTTP affiche la requête encodée, où + est encodé comme %2B.
Si vous désactivez l'option Encode before sending (Encoder avant envoi), vous obtenez le résultat attendu.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !