You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Dart中调用REST API如何获取错误信息?

Flutter调用REST API获取错误信息的方法

当然可以获取错误信息,除了状态码,服务器返回的错误消息通常包含在响应体中,以下是两种常用HTTP库的实现方式:

使用http包

通过解析响应体提取错误消息,需根据API返回的结构调整字段:

import 'package:http/http.dart' as http;
import 'dart:convert';

void callApi() async {
  final response = await http.get(Uri.parse('目标API地址'));
  
  if (response.statusCode >= 400) {
    // 若API返回JSON格式错误数据
    final errorJson = jsonDecode(response.body);
    print(errorJson['message']); // 替换为实际错误字段名
    
    // 若API直接返回纯文本错误(如你示例中的内容)
    print(response.body);
  } else {
    // 处理成功响应逻辑
  }
}

使用dio包

dio对错误处理有更便捷的封装:

import 'package:dio/dio.dart';

void callApi() async {
  try {
    final response = await Dio().get('目标API地址');
    // 处理成功响应逻辑
  } on DioException catch (e) {
    if (e.response != null) {
      // 服务器返回的错误数据
      final errorData = e.response?.data;
      print(errorData['message']); // 适配API实际字段
      // 直接打印完整错误响应体
      print(e.response?.body);
    } else {
      // 网络或请求层面的错误
      print(e.message);
    }
  }
}

注意:错误消息的字段名(如message)需和后端API的返回结构保持一致,若API返回纯文本错误内容,直接打印响应体即可获取示例中的错误文本。

内容的提问来源于stack exchange,提问作者user_odoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 14:15:26