http库上奇怪的Dart编译器警告

http库上奇怪的Dart编译器警告,http,encoding,dart,compiler-warnings,dart2js,Http,Encoding,Dart,Compiler Warnings,Dart2js,我正在尝试使用Dart的库来生成简单的HTTP GET和POST请求: import'package:http/http.dart'作为http; 导入“package:http/src/response.dart”; void main(){ 字符串json=getSomeJSONString(); http.post(url,body:json,encoding:encoding.getByName(“UTF-8”))。然后(onResponse); } 无效onResponse(响应){

我正在尝试使用Dart的库来生成简单的HTTP GET和POST请求:

import'package:http/http.dart'作为http;
导入“package:http/src/response.dart”;
void main(){
字符串json=getSomeJSONString();
http.post(url,body:json,encoding:encoding.getByName(“UTF-8”))。然后(onResponse);
}
无效onResponse(响应){
//做点什么
}
当我通过
pub build
运行此命令时,我得到:

[Dart2JS on myapp-client|web/myapp_client.dart]:Building myapp-client......

[Dart2JS on myapp-client|web/myapp_client.dart]:
../../../../../sandbox/workbench/dart/dart/dart-sdk/lib/core/uri.dart:1133:17: Info: This is the method declaration.packages/http/src/utils.dart:41:42: Warning: Arguments do not match the expected parameters of 'encodeQueryComponent'.
static String encodeQueryComponent(String component) {
^^^^^^^^^^^^^^^^^^^^

[Dart2JS on myapp-client|web/myapp_client.dart]:pairs.add([Uri.encodeQueryComponent(key, encoding: encoding),

../../../../../sandbox/workbench/dart/dart/dart-sdk/lib/core/uri.dart:1133:17: Info: This is the method declaration.
static String encodeQueryComponent(String component) {
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[Dart2JS on myapp-client|web/myapp_client.dart]:
packages/http/src/utils.dart:42:42: Warning: Arguments do not match the expected parameters of 'encodeQueryComponent'.
 Uri.encodeQueryComponent(value, encoding: encoding)]));
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Dart2JS on myapp-client|web/myapp_client.dart]:
packages/http/src/utils.dart:41:58: Warning: No named argument 'encoding' found on method.
pairs.add([Uri.encodeQueryComponent(key, encoding: encoding),
 ^^^^^^^^
[Dart2JS on myapp-client|web/myapp_client.dart]:
packages/http/src/utils.dart:42:60: Warning: No named argument 'encoding' found on method.
 Uri.encodeQueryComponent(value, encoding: encoding)]));
 ^^^^^^^^
[Info in Dart2JS]:
Generated myapp-client|web/myapp_client.dart.js (246641 characters) in 0:00:09.640230
Built 14 files!
所以有几个问题:

  • 这些警告是什么?为什么我会收到它们
  • 我需要做什么才能让它们离开(修复它们)
  • 如果这个
    http
    库是Dart语言/核心的一部分,为什么我需要将它作为依赖项包括进来

  • http
    包依赖于
    dart:io
    ,这对Web客户端应用程序不可用,因此您将无法使用它(这不是警告的来源,但在无法使用包时调试它们没有多大意义)

    改用类似的方法

    据我所知,http包不是Dart核心库的一部分,尽管它是由Dart团队开发的。我不能完全确定是否将库作为Dart核心的一部分(Dart:prefix)的决定。在这种情况下,我假设这是因为
    dart:io
    已经有了