Dart:
Lähettämässä HTTP-pyyntö
Miten:
Dart sisältää http
-paketin, tehokkaan ja kätevän tavan työskennellä HTTP-resurssien kanssa. Ensin, sisällytä se pubspec.yaml-tiedostoosi:
dependencies:
http: ^0.13.3
Tämän jälkeen, tuo se Dart-koodiisi alkaaksesi tekemään pyyntöjä:
import 'package:http/http.dart' as http;
void main() async {
var url = Uri.parse('https://jsonplaceholder.typicode.com/todos/1');
var vastaus = await http.get(url);
if (vastaus.statusCode == 200) {
print('Vastaus sisältö: ${vastaus.body}');
} else {
print('Pyyntö epäonnistui tilalla: ${vastaus.statusCode}.');
}
}
Näyte tuloste onnistuneesta pyynnöstä voisi näyttää tältä:
Vastaus sisältö: {
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Monimutkaisemmissa pyynnöissä, kuten POST-pyynnöissä JSON-rungolla, tekisit seuraavasti:
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
var url = Uri.parse('https://jsonplaceholder.typicode.com/posts');
var vastaus = await http.post(
url,
headers: {"Content-Type": "application/json"},
body: jsonEncode({
"title": 'foo',
"body": 'bar',
"userId": 1,
}),
);
if (vastaus.statusCode == 201) {
print('Vastaus tila: ${vastaus.statusCode}');
print('Vastaus sisältö: ${vastaus.body}');
} else {
print('Uuden postauksen luonti epäonnistui. Tila: ${vastaus.statusCode}');
}
}
Näyte tuloste post-pyynnöstä voisi olla:
Vastaus tila: 201
Vastaus sisältö: {
"title": "foo",
"body": "bar",
"userId": 1,
"id": 101
}
Nämä esimerkit esittelevät perus HTTP GET ja POST -pyyntöjä käyttäen http
-pakettia Dartissa. Tämä paketti kattaa useimmat tarpeet HTTP-pyyntöjen lähettämiseen, mukaan lukien monimutkaisemmat skenaariot otsikkojen ja rungon sisällön kanssa.