Dart:
Skicka en HTTP-begäran
Hur man gör:
Dart inkluderar http
-paketet, ett kraftfullt och bekvämt sätt att arbeta med HTTP-resurser. Först inkluderar du det i din pubspec.yaml-fil:
dependencies:
http: ^0.13.3
Importera sedan det i din Dart-kod för att börja göra förfrågningar:
import 'package:http/http.dart' as http;
void main() async {
var url = Uri.parse('https://jsonplaceholder.typicode.com/todos/1');
var response = await http.get(url);
if (response.statusCode == 200) {
print('Svarskropp: ${response.body}');
} else {
print('Förfrågan misslyckades med status: ${response.statusCode}.');
}
}
Exempelutdata för en framgångsrik förfrågan kan se ut så här:
Svarskropp: {
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
För mer komplexa förfrågningar, som POST-förfrågningar med en JSON-kropp, skulle du göra följande:
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
var url = Uri.parse('https://jsonplaceholder.typicode.com/posts');
var response = await http.post(
url,
headers: {"Content-Type": "application/json"},
body: jsonEncode({
"title": 'foo',
"body": 'bar',
"userId": 1,
}),
);
if (response.statusCode == 201) {
print('Svarsstatus: ${response.statusCode}');
print('Svarskropp: ${response.body}');
} else {
print('Misslyckades med att skapa ett nytt inlägg. Status: ${response.statusCode}');
}
}
Exempelutdata för postförfrågan kan vara:
Svarsstatus: 201
Svarskropp: {
"title": "foo",
"body": "bar",
"userId": 1,
"id": 101
}
Dessa exempel visar grundläggande HTTP GET- och POST-förfrågningar som använder http
-paketet i Dart. Detta paket täcker de flesta behov för att skicka HTTP-förfrågningar, inklusive mer komplexa scenarier med huvuden och kroppsinnehåll.