我对Flutter 翼和dart 还是个新手.在学习关于http请求的GET时,我遇到了一些错误.这些是我的代码

import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as ziraHttp;
class getHttp extends StatefulWidget {
  const getHttp({super.key});
  @override
  State<getHttp> createState() => _getHttpState();
}
class _getHttpState extends State<getHttp> {
  late String id;
  late String email;
  late String name;
  @override
  void initState() {
    id = '';
    email = '';
    name = '';
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Get Tutorial"),
        centerTitle: true,
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              "ID:$id ",
              style: TextStyle(fontSize: 20),
            ),
            Text(
              "email:$email ",
              style: TextStyle(fontSize: 20),
            ),
            Text(
              "Name:$name ",
              style: TextStyle(fontSize: 20),
            ),
            SizedBox(
              height: 12,
            ),
            ElevatedButton(
connection )
                onPressed: () async {
                  var serverResponse = await ziraHttp
                      .get(Uri.parse('https://reqres.in/api/users/2'));
                  if (serverResponse.statusCode == 200) {
                    Map<String, dynamic> dataResp =
                        json.decode(serverResponse.body);
                    setState(() {
                      id = dataResp["id"].toString();
                      email = dataResp["email"].toString();
                      name =
                          "${dataResp["first_name"]} ${dataResp["last_name"]}";
                    });
                  } else {
                    print("ERROR CODE: ${serverResponse.statusCode}");
                  }
                },
                child: Text("Get Data"))
          ],
        ),
      ),
    );
  }
}

当我单击该按钮时,显示的不是数据,而是空 enter image description here

我可能犯了一些错误,因为我是这个语言的新手,这是我第一次在这里发帖.提前谢谢!

推荐答案

之前只需加dataResp = dataResp['data'];即可

`setState(() {
             id = dataResp["id"].toString();
             email = dataResp["email"].toString();
             name ="${dataResp["first_name"]} ${dataResp["last_name"]}";
                    });`

因为这些值保存在https://reqres.in/api/users/2响应中的‘data’键中

Flutter相关问答推荐

在创建肘部并使用冻结时,无法使用中的Copy With方法

Riverpod状态管理-在调用请求时更新用户界面

Flutter OpenID Connect无效参数:redirect_uri using Keycloak

使索引[0]在ListViewBuilder中返回字符串1

TextField 中的富文本并获取 RenderParagraph

使用 flutter_svg 在 flutter 中的 Canvas 上绘制 SVG 图像

Flutter:在 pubspec.yaml 中找不到assets资源

尽管设置了对齐方式,如何对齐列中的行?

Flutter中pubspec.yaml文件中的name参数是什么?

点击按钮后重新启动定时器

Flutter中如何实现带有变化图标的浮动操作按钮?

更改下拉按钮的背景 colored颜色 - flutter

Paypal 支付网关添加带有 magento 2 网络详细信息用户名、密码、签名 Magento 2 的 flutter 应用程序?

flutter 在文本字段中更改部分文本选定 colored颜色

Flutter:当我通过 Transform.rotate 旋转水平 ListView 时,左右边缘被切断

在 Flutter 中更改高架按钮 OnPressed 的背景 colored颜色

仅使用 Flutter 在本地环境中托管 Web 服务器

TextSpan 避免符号字符串组上的换行符

根据索引/变量更改小部件的 colored颜色

Android Studio 模拟器屏幕闪烁