首页 > 解决方案 > Flutter Retrofit 异常 403 Forbidden

问题描述

我正在尝试为 Flutter 学习改造,但我遇到了一个奇怪的问题。我正在尝试调用一个简单的 GET 端点,但由于某种原因,我得到了 403 Forbidden 异常。

 @GET("/continents")
  Future<ContinentsData> getContinents(
    @Query("apiKey") String apiKey
  );

   Future<ContinentsData> getContinents(apiKey) async {
    ArgumentError.checkNotNull(apiKey, 'apiKey');
    const _extra = <String, dynamic>{};
    final queryParameters = <String, dynamic>{r'apiKey': apiKey};
    final _data = <String, dynamic>{};
    final _result = await _dio.request<Map<String, dynamic>>('/continents',
        queryParameters: queryParameters,
        options: RequestOptions(
            method: 'GET',
            headers: <String, dynamic>{},
            extra: _extra,
            baseUrl: baseUrl),
        data: _data);
    final value = ContinentsData.fromJson(_result.data);
    return value;
  }

简单的 Dio 示例:

final response = await Client().get("https://dummyexample.com/api/v2.0/continents")

如果我直接使用 Dio 调用相同的端点,我会成功地从服务器获得响应。有什么我想念的想法吗?

标签: flutterretrofithttp-status-code-403

解决方案


推荐阅读