文档 文档版本有些老
使用 dio 来获取数据
demo
import 'dart:io';import 'dart:convert';import 'package:flutter/material.dart';void main() => runApp(new MyApp());class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Ajnauw', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); }}class MyHomePage extends StatefulWidget { MyHomePage({Key key}) : super(key: key); @override _MyHomePageState createState() => _MyHomePageState();}class _MyHomePageState extends State<MyHomePage> { var users = []; List<Widget> _generatorItem() { return users.map((u) { String name = u['name']; return ListTile( leading: CircleAvatar( backgroundColor: Colors.grey.shade800, child: Text('$name'[0]), ), title: Text(name), ); }).toList(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('demo'), ), body: ListView( children: <Widget>[ Container( child: Column( children: <Widget>[ RaisedButton( color: Theme.of(context).primaryColor, onPressed: () async { try { // 使用端口而不是 localhost https://github.com/hillelcoren/flutter-redux-starter/issues/16 var url = Uri.parse('http://192.168.150.115:5000/test'); var httpClient = new HttpClient(); var request = await httpClient.getUrl(url); var response = await request.close(); var data = await response.transform(utf8.decoder).toList(); String body = data.join(''); // print(body); setState(() { users = jsonDecode(body); }); httpClient.close(); } catch (e) { print(e); } }, child: Text('Get List'), ), ], ), ), Offstage( offstage: users.isEmpty, child: Container( child: Column( children: _generatorItem(), ), ), ), ], ), ); }}
接口代码
@Get('test') getHello(): Array<User> { return [new User('ajanuw'), new User('suou')]; }