<

認証されたリクエストを行う

ほとんどの Web サービスからデータを取得するには、以下を提供する必要があります 認可。これを行う方法はたくさんありますが、 しかし、おそらく最も一般的な使用法は、AuthorizationHTTPヘッダー。

認可ヘッダーを追加する

httpパッケージが提供するのは、 リクエストにヘッダーを追加する便利な方法です。 あるいは、HttpHeadersからのクラスdart:io図書館。

final response = await http.get(
  Uri.parse('https://jsonplaceholder.typicode.com/albums/1'),
  // Send authorization headers to the backend.
  headers: {
    HttpHeaders.authorizationHeader: 'Basic your_api_token_here',
  },
);

完全な例

この例は、インターネットからデータを取得するレシピ。

import 'dart:async';
import 'dart:convert';
import 'dart:io';

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

Future<Album> fetchAlbum() async {
  final response = await http.get(
    Uri.parse('https://jsonplaceholder.typicode.com/albums/1'),
    // Send authorization headers to the backend.
    headers: {
      HttpHeaders.authorizationHeader: 'Basic your_api_token_here',
    },
  );
  final responseJson = jsonDecode(response.body);

  return Album.fromJson(responseJson);
}

class Album {
  final int userId;
  final int id;
  final String title;

  const Album({
    required this.userId,
    required this.id,
    required this.title,
  });

  factory Album.fromJson(Map<String, dynamic> json) {
    return Album(
      userId: json['userId'],
      id: json['id'],
      title: json['title'],
    );
  }
}