Dart 方法';邮政';被调用为空

Dart 方法';邮政';被调用为空,dart,flutter,Dart,Flutter,我想登录到服务器,我需要发布用户名和密码 首先,如何传递这两个参数?我试着在体内这样做: body: { "login": username, "password": password } 及 我像这样创建了我的函数,并且总是得到“NoSuchMethodError:The方法'post'是在null上调用的 Future<http.Response> login( {@required String username, @required String pas

我想登录到服务器,我需要发布用户名和密码

首先,如何传递这两个参数?我试着在体内这样做:

body: {
  "login": username, "password": password
}

我像这样创建了我的函数,并且总是得到“NoSuchMethodError:The方法'post'是在
null
上调用的

  Future<http.Response> login(
      {@required String username, @required String password}) async {
    final String url = theUrl;

    final String param = "login=$username&password=$password";

    final response = await client.post(url, body: param, encoding: Encoding.getByName("UTF-8");

    return response;
  }
未来登录(
{@required String username,@required String password})异步{
最终字符串url=url;
最终字符串param=“login=$username&password=$password”;
最终响应=wait client.post(url,body:param,encoding:encoding.getByName(“UTF-8”);
返回响应;
}
你能给我解释一下这到底是什么意思吗

完整错误日志:

E/flutter ( 7161): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 7161): NoSuchMethodError: The method 'post' was called on null.
E/flutter ( 7161): Receiver: null
E/flutter ( 7161): Tried calling: post("https://.../login", body: _LinkedHashMap len:2, encoding: Instance of 'Utf8Codec')
E/flutter ( 7161): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
E/flutter ( 7161): #1      ApiProvider.login (package:flutter_mvp/resources/api_provider.dart:25:35)
E/flutter ( 7161): <asynchronous suspension>
E/flatter(7161):[错误:flatter/shell/common/shell.cc(184)]省道错误:未处理的异常:
E/Flatter(7161):NoSuchMethodError:方法“post”在null上被调用。
E/颤振(7161):接收器:空
E/颤振(7161):尝试呼叫:post(“https://.../login,正文:_LinkedHashMapLen:2,编码:Utf8Codec的实例)
E/flatter(7161):#0 Object.noSuchMethod(dart:core/runtime/libobject_patch.dart:50:5)
E/flatter(7161):#1 ApiProvider.login(包:flatter_mvp/resources/api_provider.dart:25:35)
E/颤振(7161):

这意味着调用时
客户机
变量为
null


在调用
login
之前,您必须确保您的
客户端
已初始化。这意味着
客户端
变量在调用时为
null

在调用
登录
之前,您必须确保您的
客户端
已初始化

E/flutter ( 7161): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 7161): NoSuchMethodError: The method 'post' was called on null.
E/flutter ( 7161): Receiver: null
E/flutter ( 7161): Tried calling: post("https://.../login", body: _LinkedHashMap len:2, encoding: Instance of 'Utf8Codec')
E/flutter ( 7161): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
E/flutter ( 7161): #1      ApiProvider.login (package:flutter_mvp/resources/api_provider.dart:25:35)
E/flutter ( 7161): <asynchronous suspension>