我正在创建Flutter应用,并且试图获取我的虚拟数据from this endpoint。我想打印响应数据,但是我的问题是在获取API时,Content-Type是text / html而不是application / json。我正在使用HTTP包。
这是error
这是我的代码方法 为 base_api.dart
Future<MODEL> getAll() async {
Map<String, String> headers = {"Content-type": "application/json"};
final result = await http.get(url, headers: headers);
print("Content type: ${result.headers['content-type']}");
if (result.statusCode >= 200 && result.statusCode < 300 ) {
return json.decode(result.body);
} else {
return json.decode(null);
}
}
这是我在 services.dart
中的代码Future loadUserTimeLogs() async {
var userRepo = UserRepository();
userRepo.getAll().then((val) {
print("GET VAL: $val");
}); }
这是我的 base_repository.dart
Future getAll({String query}) {
var completer = Completer();
api.getAll().then((val) {
if (val == null) {
completer.complete(dao.getAll());
} else {
completer.complete(val);
}
});
return completer.future;
}
答案 0 :(得分:0)
似乎正在运行,您是否检查过互联网连接是否稳定或连接到访问受限的wifi? HTML可能是您所连接的WiFi的强制门户或限制网页。
答案 1 :(得分:0)
尝试使用此端点:http://www.mocky.io/v2/5dca69523300004e003decc5
并在您的getAll()函数中使用此return json.decode(result.body)['data'];