Я хотел бы получить информацию из API, используя HTTP-запрос GET, к конечной точке publi c, которая возвращает XML в Flutter (web).
Однако, когда я запускаю код в режиме отладки и попадаю на экран, где выполняется HTTP-запрос API, приложение зависает.
Я написал следующий код:
import 'dart:async';
import 'package:http/http.dart' as http;
import 'package:xml/xml.dart' as xml;
class SearchApi {
Future fetchPhotos(String query) async {
final http.Response response = await http.get('https://www.gahetna.nl/beeldbank-api/opensearch/?searchTerms=auto&startIndex=1&count=10', headers: {"Accept": "application/xml"});
print(response.body);
if (response.statusCode == 200) {
// If the server did return a 200 OK response,
// then parse the XML.
print(xml.parse(response.body));
return xml.parse(response.body);
} else {
// If the server did not return a 200 OK response,
// then throw an exception.
throw Exception('Failed to load photos');
}
}
Код работает, когда я меняю http.get url, например, на https://jsonplaceholder.typicode.com/todos/1. Запрос http get работает с конечной точкой 'https://www.gahetna.nl/beeldbank-api/opensearch/', когда я использую curl в командной строке.
В коде Visual Studio нет сообщений об ошибках IDE, когда экран зависает.