HTTP 통신 방식에는 GET과 POST 방식이 있다. 일반적인 데이터 요청에는 GET 방식을 사용하고 데이터 요청과 동시에 여러 값을 보낼 때에는 POST를 사용한다.
HTTP 통신을 위한 다트 라이브러리 : http
import 'dart:convert' as convert;
import 'package:http/http.dart' as http;
void main(List<String> arguments) async {
var url =
Uri.https('www.googleapis.com', '/books/v1/volumes', {'q': '{http}'});
var response = await http.get(url);
if (response.statusCode == 200) {
var jsonResponse =
convert.jsonDecode(response.body) as Map<String, dynamic>>;
var itemCount = jsonResponse['totalItems'];
print('Number of books about http: $itemCount.');
} else {
print('Request failed with status: ${response.statusCode}.');
}
}
Future<http.Response> getListings({String apiKey = apiKey}) async {
final response = await _client.get(
Uri.parse('$baseUrl/query?function=LISTING_STATUS&apikey=$apiKey'));
return response;
}
Future<CompanyInfoData> getCompanyInfo({
required String symbol,
String apiKey = apiKey,
}) async {
final response = await _client.get(Uri.parse(
'$baseUrl/query?function=OVERVIEWS&symbol=$symbol&apikey=$apiKey'));
return CompanyInfoData.fromJson(jsonDecode(response.body));
}