In order to fetch data from many web services, you need to provideauthorization. There are many ways to do this, but perhaps the most commonuses the Authorization
HTTP header.
Add Authorization Headers
The http
package provides aconvenient way to add headers to your requests. You can also take advantage ofthe dart:io
package for common HttpHeaders
.
Future<http.Response> fetchPost() {
return http.get(
'https://jsonplaceholder.typicode.com/posts/1',
// Send authorization headers to the backend
headers: {HttpHeaders.authorizationHeader: "Basic your_api_token_here"},
);
}
Complete example
This example builds upon the Fetching Data from theInternet recipe.
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
Future<Post> fetchPost() async {
final response = await http.get(
'https://jsonplaceholder.typicode.com/posts/1',
headers: {HttpHeaders.authorizationHeader: "Basic your_api_token_here"},
);
final responseJson = json.decode(response.body);
return Post.fromJson(responseJson);
}
class Post {
final int userId;
final int id;
final String title;
final String body;
Post({this.userId, this.id, this.title, this.body});
factory Post.fromJson(Map<String, dynamic> json) {
return Post(
userId: json['userId'],
id: json['id'],
title: json['title'],
body: json['body'],
);
}
}
当前内容版权归 flutter.dev 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 flutter.dev .