cURL vers Dart
Collez une commande curl et obtenez du code Dart qui fait la même requête avec package:http.
cURL vers Dart analyse votre commande dans le navigateur. Les identifiants ne quittent pas votre appareil.
Convertir vers Swift
À propos de cURL vers Dart
La documentation du backend fournit une commande curl ; une application Flutter a besoin de Dart. Ce convertisseur fait le pont : il analyse les options curl comme curl lui-même et produit du code fondé sur package:http, le paquet dont dépend déjà presque tout projet Dart ou Flutter. Les en-têtes sont rassemblés dans une map typée, un corps JSON devient une map Dart encodée par jsonEncode plutôt qu’une chaîne collée, et l’authentification basique est reconstruite avec base64Encode. Les verbes sans raccourci passent par un http.Request, si bien qu’une méthode inhabituelle produit tout de même du code opérationnel.
Fonctionnalités
- Analyse -X, -H, -d, --data-raw, --json, -u, -b, -A, -e et -G comme curl
- Produit du code fondé sur package:http, le client HTTP standard de Dart
- En-têtes rassemblés dans une Map<String, String> typée
- Corps JSON rendus en map Dart et encodés par jsonEncode
- Authentification basique reconstruite avec base64Encode plutôt qu’un Base64 collé
- Repli sur http.Request pour les verbes sans méthode abrégée
- Signale les options curl sans équivalent Dart raisonnable
Comment utiliser cURL vers Dart
- Collez la commande curl de votre documentation d’API
- Lisez le Dart généré à droite
- Vérifiez les avertissements sur les options non reportables
- Copiez le code ou téléchargez-le en fichier .dart
Exemple
Entrée
curl -X PUT https://api.example.com/users/1 -H 'Authorization: Bearer TOKEN' -d '{"role":"admin"}'
Sortie
final response = await http.put(url, headers: headers, body: body);
Le verbe vient de -X, et le corps JSON est bâti en map Dart avant encodage.
Erreurs courantes et dépannage
- Le paquet est introuvable à l’exécution. — Ajoutez-le au pubspec.yaml sous dependencies sous le nom http, puis lancez dart pub get. Il ne fait pas partie du SDK, bien qu’il soit maintenu par l’équipe Dart.
- La requête échoue seulement sur Flutter web. — C’est le CORS, pas le code. Le navigateur applique la politique de même origine qu’une commande curl ne voit jamais.
- Une chaîne du corps est interpolée bizarrement. — Le signe dollar déclenche une interpolation en Dart. Il est échappé dans les littéraux produits, mais échappez tout $ que vous collez à la main.
- La requête marche sur Android mais pas contre un serveur local dans l’émulateur. — Un émulateur Android ne voit pas le localhost de la machine hôte : utilisez 10.0.2.2. Le HTTP en clair doit aussi être autorisé dans la configuration réseau.
Foire aux questions
- Le code produit fonctionne-t-il dans une application Flutter ?
- Oui. package:http se comporte de la même façon en Flutter et en Dart pur, le code de requête se colle donc tel quel dans une classe de service.
- Faut-il utiliser package:http ou Dio ?
- package:http est l’option officielle la plus légère et couvre presque toutes les requêtes. Dio ajoute intercepteurs, annulation et confort multipart, avec une API assez proche pour transposer facilement.
- Comment un corps JSON est-il converti ?
- Il est analysé et écrit en littéral de map Dart, puis encodé par jsonEncode. Objets et tableaux imbriqués restent lisibles et les valeurs se remplacent directement par des variables.
- Et si la méthode n’a pas d’aide comme http.get ?
- Le code produit construit un http.Request avec le verbe en chaîne et l’envoie par send(), ce qui couvre PURGE, LINK ou tout autre verbe.
- La commande curl est-elle envoyée pour être convertie ?
- Non. L’analyse et la génération se font dans votre navigateur, les jetons et clés d’API restent donc sur votre appareil.
Outils associés
- cURL vers Swift — Convertit une commande curl en code Swift avec URLSession.
- cURL vers Fetch — Convertit une commande curl en un appel fetch() JavaScript.
- curl vers Python — Convertissez une commande curl en script Python requests.
- curl vers Go — Convertissez une commande curl en code Go net/http.
- curl vers Node.js — Convertissez une commande curl en script Node.js basé sur axios.
- Client API — Envoyez des requêtes HTTP, créez en-têtes et paramètres et inspectez les réponses ; conserve vos 25 dernières.
Tous les outils ArrayKit