Dart:
Inviare una richiesta HTTP
Come fare:
Dart include il pacchetto http
, un modo potente e conveniente per lavorare con le risorse HTTP. Prima cosa, includilo nel tuo file pubspec.yaml:
dependencies:
http: ^0.13.3
Poi, importalo nel tuo codice Dart per iniziare a creare richieste:
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('Corpo della risposta: ${response.body}');
} else {
print('Richiesta fallita con stato: ${response.statusCode}.');
}
}
L’output di esempio per una richiesta riuscita potrebbe essere così:
Corpo della risposta: {
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Per richieste più complesse, come le richieste POST con un corpo JSON, dovresti fare quanto segue:
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('Stato della risposta: ${response.statusCode}');
print('Corpo della risposta: ${response.body}');
} else {
print('Impossibile creare un nuovo post. Stato: ${response.statusCode}');
}
}
L’output di esempio per la richiesta post potrebbe essere:
Stato della risposta: 201
Corpo della risposta: {
"title": "foo",
"body": "bar",
"userId": 1,
"id": 101
}
Questi esempi mostrano le richieste HTTP GET e POST di base utilizzando il pacchetto http
in Dart. Questo pacchetto copre la maggior parte delle necessità per l’invio di richieste HTTP, incluso scenari più complessi con intestazioni e contenuto del corpo.