如何在DART中获取DIO POST响应错误作为地图列表

时间:2019-08-26 15:20:34

标签: flutter dart

在使用DIO发布信息之后,服务器有时可以使用以下JSON进行响应:

  

{“ Message”:“发生了错误。”,“ ExceptionMessage”:“   客户被阻止”}

但是,当我遇到DioError时,response.data(MAP)的主体仅显示一个元素(消息)。 我如何也可以获取ExceptionMessage?

这是我出于测试目的而遇到的DIO错误:

(…)
on DioError catch (dio_e) {
   if (dio_e.response != null) {
    if (dio_e.response.data != null) {
      if (dio_e.response.statusCode == 500) {
        if (dio_e.response.data != null) {
          if (dio_e.response?.data["Message"] != null) {
            error = dio_e.response?.data["Message"]?.toString();
            if (dio_e.response?.data["ExceptionMessage"] != null) {
              error =
                  "$error Details: ${dio_e.response?.data["ExceptionMessage"]?.toString()}";
            }
          }
        }
      } else {
        error = dio_e.response.toString();
      }
    }
  }

我已经在DIO的有关错误处理的章节中检查了错误处理的部分,但是我无法确定该怎么做(我是菜鸟)。

有专家的帮助吗?

0 个答案:

没有答案