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
}

JSONボディを含むより複雑なリクエスト、例えばPOSTリクエストを行う場合、以下のようにします:

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パッケージを使ってDartで基本的なHTTP GETおよびPOSTリクエストを行う方法を紹介しています。このパッケージは、ヘッダーやボディコンテンツを含むより複雑なシナリオを含め、HTTPリクエストを送信するためのほとんどのニーズをカバーしています。