连接 Flutter App API 服务器的问题

Posted

技术标签:

【中文标题】连接 Flutter App API 服务器的问题【英文标题】:Problem with connect Flutter App API server 【发布时间】:2019-06-27 14:32:16 【问题描述】:

任何人都可以支持我 .. 我厌倦了连接到我的 API 但我得到了错误 ,, 我的代码

import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart' as http;

Future<List> getData() async 
String url = 'http://localhost:4000/api/contacts';
http.Response response = await http.get(url);
return json.decode(response.body);


void main() async 
List data = await (getData());
print(data);

但我有错误

Performing hot restart...
Syncing files to device android SDK built for x86...
Restarted application in 7,213ms.
E/flutter ( 5291): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 5291): type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'FutureOr<List<dynamic>>'
E/flutter ( 5291): #0      getData (package:json/main.dart:13:3)
E/flutter ( 5291): <asynchronous suspension>
E/flutter ( 5291): #1      main (package:json/main.dart:17:22)
E/flutter ( 5291): <asynchronous suspension>
E/flutter ( 5291): #2      _startIsolate.<anonymous closure> (dart:isolate/runtime/libisolate_patch.dart:289:19)
E/flutter ( 5291): #3      _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

,, 任何建议

My API server

【问题讨论】:

【参考方案1】:

像这样更改方法的返回类型:

Future<Map<String, dynamic>> getData() async 
    ...

【讨论】:

我只是将对象放在列表中,然后它工作正常......谢谢

以上是关于连接 Flutter App API 服务器的问题的主要内容,如果未能解决你的问题,请参考以下文章

STRAPI 是不是有助于开发 REST api 以轻松且经济高效地连接 Flutter 应用程序

Flutter / Dart 没有从本地托管的烧瓶 api 返回值

Flutter App 发布后无法连接互联网

flutter 高德地图api使用 app内集成定位 地图搜索功能

Android Flutter App 中的持久后台工作程序,每 30 秒获取一次 Web API

Flutter 队列 API 请求稍后执行