Lähettämässä HTTP-pyyntö

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.