【发布时间】:2020-04-08 06:56:43
【问题描述】:
我是 Flutter 的新手。我想从网站https://rapidapi.com/ 获取来自 API 的请求。请帮我将 Python 翻译成 Dart。
我可以使用链接 https://covid-19-data.p.rapidapi.com/totals 代替 uri 来获取总数据,但无法通过传递国家/地区名称来获取国家/地区数据。
这是一个 Python 代码,我想要在 Dart(Flutter) 中使用它
import requests
url = "https://covid-19-data.p.rapidapi.com/country"
querystring = {"format":"undefined","name":"italy"}
headers = {
'x-rapidapi-host': "covid-19-data.p.rapidapi.com",
'x-rapidapi-key': "84768ddbd5mshe582f65a69666d5p1fea75jsn3a2b9202cc14"
}
response = requests.request("GET", url, headers=headers, params=querystring)
print(response.text)
这就是我在 Dart 中所做的。我得到错误
{"type":"https:\/\/tools.ietf.org\/html\/rfc2616#section-10","title":"An error occurred","detail":"Parameter name is missing"}
状态码是 400。
import 'package:flutter/cupertino.dart';
import 'package:http/http.dart' as http;
class NetworkingBrain {
NetworkingBrain({@required this.params});
final params;
Future<void> getData() async {
try {
var value = {'country1': params};
var uri = Uri.parse('https://covid-19-data.p.rapidapi.com/country')
.replace(queryParameters: value)
.toString();
http.Response response = await http.get(uri, headers: {
'x-rapidapi-host': "covid-19-data.p.rapidapi.com",
'x-rapidapi-key': "84768ddbd5mshe582f65a69666d5p1fea75jsn3a2b9202cc14"
});
print(response.body);
print(response.statusCode);
} catch (e) {
print(e);
}
}
}
请帮帮我。
【问题讨论】:
标签: python-3.x http flutter dart