首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用dio/ _dio.fetch改造时更改响应类型?

如何在使用dio/ _dio.fetch改造时更改响应类型?
EN

Stack Overflow用户
提问于 2022-08-30 10:07:00
回答 1查看 198关注 0票数 0

我使用dio,改装来管理api连接。生成与注释和build_runner相关的代码。

我的问题是:我收到回复中的数据列表。生成的代码与我需要的代码不同。生成的代码中有一节包含此文本。

代码语言:javascript
复制
final _result = await _dio.fetch<Map<String, dynamic>>(_setStreamType<

我需要的代码是这样的。

代码语言:javascript
复制
final _result = await _dio.fetch<List<dynamic>>(_setStreamType<

  • 当我手动编辑Map到List<‍dynamic>,我的代码工作良好,我需要一些东西,如一个概念或其他自动做将解决这个问题。

示例我收到的答复:

代码语言:javascript
复制
 [
    {
          'key1':'value1',
          'key2':'value2',
          'key3':'value3'
    }
 ]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-31 05:35:39

我解决了问题。

提供给http响应的数据类型必须为列表类型。因此,您的音频响应是List<‌‍dynamic>。

否则,响应生成器将返回Map类型。

这是我的代码片段:

代码语言:javascript
复制
@RestApi(baseUrl: BuildConfig.SERVER)
abstract class GetApiService {
  factory GetApiService(Dio dio,{String baseUrl}) = _GetApiService;
  @GET(MainApi.baseData)
  @FormUrlEncoded()
  Future<HttpResponse<List<ResponseItem>>> getDashboardHomeResponse(); ///Pay attention to the type , Type is List!
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73540657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档