Відправлення HTTP-запиту

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-запитів, включаючи більш складні сценарії з заголовками та тілом контенту.