带参数的http请求

http request with params

是否有一些函数可以以您不必这样做的方式将请求参数添加到 http 请求中 "manually"?例如,如果我想将 "user": "x" 作为我请求的参数,以实现类似

的方式
http:test/testing?user=x

我该怎么做?

您不能将参数添加到请求中,您需要将其添加到用于请求的 URL 中。 Uri class 提供了

的方法
var uri = Uri.parse('http://test/testing');
uri = uri.replace(query: 'user=x');
print(uri);

uri = uri.replace(queryParameters: <String, String>{'user': 'x'});

final uri = Uri.parse('http://test/testing').replace(query: 'user=x');

似乎更直接的方法是使用 Uri.http.

// http://example.org/path?q=dart.
Uri.http("example.org", "/path", { "q" : "dart" });

备注:

  • 查询参数为{ "q" : "dart" }.
  • Uri.https() 以同样的方式工作。