Sende en HTTP-forespørsel

Dart:
Sende en HTTP-forespørsel

Hvordan:

Dart inkluderer http-pakken, en kraftig og praktisk måte å arbeide med HTTP-ressurser. Først inkluderer du den i din pubspec.yaml-fil:

dependencies:
  http: ^0.13.3

Deretter importerer du den i Dart-koden din for å starte med å sende forespørsler:

import 'package:http/http.dart' as http;

void main() async {
  var url = Uri.parse('https://jsonplaceholder.typicode.com/todos/1');
  var respons = await http.get(url);

  if (respons.statusCode == 200) {
    print('Responsinnhold: ${respons.body}');
  } else {
    print('Forespørselen feilet med status: ${respons.statusCode}.');
  }
}

Eksempel på utdata for en vellykket forespørsel kan se slik ut:

Responsinnhold: {
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

For mer komplekse forespørsler, som POST-forespørsler med en JSON-kropp, ville du gjøre følgende:

import 'dart:convert';
import 'package:http/http.dart' as http;

void main() async {
  var url = Uri.parse('https://jsonplaceholder.typicode.com/posts');
  var respons = await http.post(
    url,
    headers: {"Content-Type": "application/json"},
    body: jsonEncode({
      "title": 'foo',
      "body": 'bar',
      "userId": 1,
    }),
  );

  if (respons.statusCode == 201) {
    print('Responsstatus: ${respons.statusCode}');
    print('Responsinnhold: ${respons.body}');
  } else {
    print('Klarte ikke å opprette et nytt innlegg. Status: ${respons.statusCode}');
  }
}

Eksempel på utdata for postforespørselen kan være:

Responsstatus: 201
Responsinnhold: {
  "title": "foo",
  "body": "bar",
  "userId": 1,
  "id": 101
}

Disse eksemplene viser grunnleggende HTTP GET- og POST-forespørsler ved bruk av http-pakken i Dart. Denne pakken dekker de fleste behov for å sende HTTP-forespørsler, inkludert mer komplekse scenarier med headers og kroppsinhold.