Во Flutter Dio — это популярный пакет для выполнения сетевых запросов, а localhost относится к локальному серверу разработки на вашем компьютере. В этой статье мы рассмотрим различные методы выполнения сетевых запросов с помощью Dio и взаимодействия с локальным сервером в приложении Flutter. Мы предоставим примеры кода для демонстрации каждого метода.
Метод 1: отправка запроса GET
import 'package:dio/dio.dart';
void sendGetRequest() async {
try {
var response = await Dio().get('http://localhost:3000/data');
print(response.data);
} catch (error) {
print('Error: $error');
}
}
Метод 2: отправка POST-запроса
import 'package:dio/dio.dart';
void sendPostRequest() async {
try {
var response = await Dio().post('http://localhost:3000/data',
data: {'name': 'John', 'age': 25});
print(response.data);
} catch (error) {
print('Error: $error');
}
}
Метод 3. Отправка параметров запроса
import 'package:dio/dio.dart';
void sendRequestWithQueryParams() async {
try {
var response = await Dio().get('http://localhost:3000/data',
queryParameters: {'category': 'books', 'limit': 10});
print(response.data);
} catch (error) {
print('Error: $error');
}
}
Метод 4. Отправка заголовков
import 'package:dio/dio.dart';
void sendRequestWithHeaders() async {
try {
var dio = Dio();
dio.options.headers['Authorization'] = 'Bearer YOUR_TOKEN';
var response = await dio.get('http://localhost:3000/data');
print(response.data);
} catch (error) {
print('Error: $error');
}
}
Метод 5. Загрузка файлов
import 'package:dio/dio.dart';
void uploadFile() async {
try {
var formData = FormData.fromMap({
'file': await MultipartFile.fromFile('/path/to/file.jpg', filename: 'file.jpg'),
});
var response = await Dio().post('http://localhost:3000/upload', data: formData);
print(response.data);
} catch (error) {
print('Error: $error');
}
}
В этой статье мы рассмотрели различные методы выполнения сетевых запросов во Flutter с использованием пакета Dio и взаимодействия с локальным сервером. Мы рассмотрели отправку запросов GET и POST, включая параметры запроса и заголовки, а также загрузку файлов. Используя мощные функции Dio, вы можете создать надежные сетевые функции в своих приложениях Flutter.
Не забудьте адаптировать URL-адрес http://localhost:3000в соответствии с конфигурацией вашего сервера.