颤振错误类型 '_InternalLinkedHashMap<String, dynamic>' 不是类型 'List<dynamic>' 的子类型



我试图从我的RESTAPI获取一些帖子使用提供商包和either_options,但我有一些麻烦。每次我运行应用程序时它都会给我这个错误

type '_InternalLinkedHashMap<String,>'不是类型'List'的子类型

这是它提到错误的地方:

Future<Either<String, List<Post>>> getPostsList() async {
var url = Uri.tryParse("myUrl");
try {
var response = await http.get(url);
final List responseBody = jsonDecode(response.body);
return Right(PostsList.fromJson(responseBody).postsLists);
} catch (e) {
print(e);
return Left(ApiErrorHandling.getDioException(e));
}
}

也在这里:

List<Post> postsList = List<Post>();
getPostsList() async {
final Either<String, List<Post>> result =
await ApiServices().getPostsList();
result.fold((e) {
setErrorMessage(e);
setUiStateAndNotify(UISTATE.ERROR);
}, (f) {
postsList = f;
setUiStateAndNotify(UISTATE.SUCCESS);
});
}

我真的很困惑为什么这个错误显示,所以我想知道为什么。由于

我打开了您的api结果,您感兴趣的列表位于关键字"data"在响应体中,将代码更改为:

final List responseBody = jsonDecode(response.body)["data"];

相关内容

  • 没有找到相关文章

最新更新