dioError [dioerrortype.other]:将对象转换为编码对象失败:_linkedHashset len:1 flutter

发布于 2025-02-09 04:14:14 字数 1084 浏览 0 评论 0原文

我想从API打印数据,但我在下面遇到此错误: DioError [dioerrortype.Response]:HTTP状态错误[500]

检查以下邮递员的屏幕截图,它运行良好。

以下是我的代码,我需要帮助。当我在下面调用此功能时,我会遇到错误:

Future<void> signInData([data]) async {
    final prefs = await SharedPreferences.getInstance();
    final String token = prefs.getString('token') ?? "";

    try {
      Response response = await _dio.post('$_baseUrl/api/gateway',
          data: {
            {
              "ClientPackageId": "0cdd231a-d7ad-4a68-a934-d373affb5100",
              "PlatformId": "ios",
              "ClientUserId": "AhmedOmar",
              "VinNumber": VINumber
            }
          },
          options: Options(headers: {
            "Content-Type": "application/json",
            "Authorization": "Bearer $token",
          }));
      print(response.data);
      print(response.statusCode);
      if (response.statusCode == 401) {
        // call your refresh token api here and save it in shared preference
        await getToken();
        signInData(data);
      }
    } catch (e) {
      print(e);
    }
  }

I want to print data from the api but i am getting this error below:
DioError [DioErrorType.response]: Http status error [500]

Check the screenshot below from postman, It is working well.

Below is my code, I need help. I get error when I call this function below:

Future<void> signInData([data]) async {
    final prefs = await SharedPreferences.getInstance();
    final String token = prefs.getString('token') ?? "";

    try {
      Response response = await _dio.post('$_baseUrl/api/gateway',
          data: {
            {
              "ClientPackageId": "0cdd231a-d7ad-4a68-a934-d373affb5100",
              "PlatformId": "ios",
              "ClientUserId": "AhmedOmar",
              "VinNumber": VINumber
            }
          },
          options: Options(headers: {
            "Content-Type": "application/json",
            "Authorization": "Bearer $token",
          }));
      print(response.data);
      print(response.statusCode);
      if (response.statusCode == 401) {
        // call your refresh token api here and save it in shared preference
        await getToken();
        signInData(data);
      }
    } catch (e) {
      print(e);
    }
  }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瞎闹 2025-02-16 04:14:14

Future<void> signInData([data]) async {
    final prefs = await SharedPreferences.getInstance();
    final String token = prefs.getString('token') ?? "";

    try {
      Response response = await _dio.post('$_baseUrl/api/gateway',
          data: {
              "ClientPackageId": "0cdd231a-d7ad-4a68-a934-d373affb5100",
              "PlatformId": "ios",
              "ClientUserId": "AhmedOmar",
              "VinNumber": VINumber            
          },
          options: Options(headers: {
            "Content-Type": "application/json",
            "Authorization": "Bearer $token",
          }));
      print(response.data.toString());
      print(response.statusCode);
      if (response.statusCode == 401) {
        // call your refresh token api here and save it in shared preference
        await getToken();
        signInData(data);
      }
    } catch (e) {
      print(e);
    }
  }

Hey remove extra { from data inside post method like below -

Future<void> signInData([data]) async {
    final prefs = await SharedPreferences.getInstance();
    final String token = prefs.getString('token') ?? "";

    try {
      Response response = await _dio.post('$_baseUrl/api/gateway',
          data: {
              "ClientPackageId": "0cdd231a-d7ad-4a68-a934-d373affb5100",
              "PlatformId": "ios",
              "ClientUserId": "AhmedOmar",
              "VinNumber": VINumber            
          },
          options: Options(headers: {
            "Content-Type": "application/json",
            "Authorization": "Bearer $token",
          }));
      print(response.data.toString());
      print(response.statusCode);
      if (response.statusCode == 401) {
        // call your refresh token api here and save it in shared preference
        await getToken();
        signInData(data);
      }
    } catch (e) {
      print(e);
    }
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文