我目前是Flutter的新手,我正尝试按照Bloc教程进行一些了解。我正在做Weather教程,并且在运行应用程序时,无法从API获取数据。
这是我用来获取数据的方法:
Future<int> getLocationId(String city) async {
final locationUrl = '$baseUrl/api/location/search/?query=$city';
final locationResponse = await this.httpClient.get(locationUrl);
if (locationResponse.statusCode != 200) {
throw Exception('error getting locationId for the city');
}
final locationJson = jsonDecode(locationResponse.body) as List;
return (locationJson.first)['woeid'];
}
调试时,我看到locationresponse.body
只是空的。一切都还好,我得到200的答复。在浏览器上尝试时,我可以获得数据。
经过一番研究,我认为这是因为http
弄乱了标题,但看了一下之后,我不明白它们怎么可能是错误的。
我应该尝试查看期望的标题并将其自己添加吗?