Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗flPmAwGR 116 of 125 menu
◀ ▶

GET-запрос http.get в Flutter

После flutter pub get подключают библиотеку с префиксом: import 'package:http/http.dart' as http;. Простой GET - функция http.get с Uri.parse('https://…').

Ответ - объект Response. Поле statusCode для успеха обычно равно 200; тело текста лежит в body строкой. Асинхронный вызов удобно обернуть в FutureBuilder или await в методе кнопки:

import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; void main() { runApp(const MaterialApp(home: GetDemoPage())); } class GetDemoPage extends StatefulWidget { const GetDemoPage({super.key}); @override State<GetDemoPage> createState() => _GetDemoPageState(); } class _GetDemoPageState extends State<GetDemoPage> { late Future<String> loadQuote; @override void initState() { super.initState(); loadQuote = fetchQuote(); } Future<String> fetchQuote() async { final uri = Uri.parse('https://jsonplaceholder.typicode.com/todos/1'); final response = await http.get(uri); if (response.statusCode != 200) { throw Exception('Code ${response.statusCode}'); } return response.body; } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('GET')), body: Padding( padding: const EdgeInsets.all(16), child: FutureBuilder<String>( future: loadQuote, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.waiting) { return const Center(child: CircularProgressIndicator()); } if (snapshot.hasError) { return Text('Error: ${snapshot.error}'); } if (snapshot.hasData) { return SingleChildScrollView( child: Text(snapshot.data!), ); } return const SizedBox.shrink(); }, ), ), ); } }

Запросите https://jsonplaceholder.typicode.com/posts/1, проверьте код 200 и выведите первые 200 символов body на экране моноширинным TextStyle.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить