Dart:
Відправлення HTTP-запиту
Як:
Dart включає пакет http
, який є потужним і зручним способом роботи з HTTP-ресурсами. Спочатку включіть його у файл pubspec.yaml:
dependencies:
http: ^0.13.3
Потім імпортуйте його у ваш код Dart, щоб почати виконувати запити:
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('Тіло відповіді: ${response.body}');
} else {
print('Запит завершився з помилкою: ${response.statusCode}.');
}
}
Приклад виводу для успішного запиту може виглядати так:
Тіло відповіді: {
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Для більш складних запитів, наприклад, POST-запитів з JSON-тілом, ви б робили наступне:
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('Статус відповіді: ${response.statusCode}');
print('Тіло відповіді: ${response.body}');
} else {
print('Не вдалося створити новий пост. Статус: ${response.statusCode}');
}
}
Приклад виводу для POST-запиту може бути:
Статус відповіді: 201
Тіло відповіді: {
"title": "foo",
"body": "bar",
"userId": 1,
"id": 101
}
Ці приклади демонструють базові HTTP GET та POST запити за допомогою пакета http
в Dart. Цей пакет покриває більшість потреб у надсиланні HTTP-запитів, включаючи більш складні сценарії з заголовками та тілом контенту.