有一个Dart包提供了一些帮助类来处理HTTP请求。
BasicUtils: https://github.com/Ephenodrom/Dart-Basic-Utils
安装方法:
dependencies:
basic_utils: ^1.4.0
使用方法
您可以为每个请求添加头部和查询参数的映射地图。参考以下示例:
最初的回答:
您可以在每个请求中添加头部和查询参数的映射。下面是一个示例:
Map<String, String> headers = {
"Accept": "application/json"
};
Map<String, String> queryParameters = {
"foo": "bar"
};
String body = "{ 'some':'json'}";
Map<String, dynamic> responseData = await HttpUtils.postForJson("api.com/dosomething", body,
headers: headers, queryParameters: queryParameters);
最初的回答:
附加信息:
这些都是来自HttpUtils类的方法。
Future<Map<Response> getForFullResponse(String url,{Map<String, dynamic> queryParameters,Map<String, String> headers});
Future<Map<String, dynamic>> getForJson(String url,{Map<String, dynamic> queryParameters,Map<String, String> headers});
Future<String> getForString(String url,{Map<String, dynamic> queryParameters,Map<String, String> headers});
Future<Map<Response> postForFullResponse(String url, String body,{Map<String, String> queryParameters,Map<String, String> headers});
Future<Map<String, dynamic>> postForJson(String url, String body,{Map<String, String> queryParameters,Map<String, String> headers});
Future<String> postForString(String url, String body,{Map<String, String> queryParameters,Map<String, String> headers});
Future<Response> putForFullResponse(String url, String body,{Map<String, String> queryParameters,Map<String, String> headers});
Future<Map<String, dynamic>> putForJson(String url, String body,{Map<String, String> queryParameters,Map<String, String> headers});
Future<String> putForString(String url, String body,{Map<String, String> queryParameters,Map<String, String> headers});
Future<Response deleteForFullResponse(String url,{Map<String, String> queryParameters,Map<String, String> headers});
Future<Map<String, dynamic>> deleteForJson(String url,{Map<String, String> queryParameters,Map<String, String> headers});
Future<String> deleteForString(String url,{Map<String, String> queryParameters,Map<String, String> headers});
Map<String, dynamic> getQueryParameterFromUrl(String url);
String addQueryParameterToUrl(String url, Map<String, dynamic> queryParameters);
Uri.https
之后停止运行,就像发生异常一样,但没有错误提示,它只是停止了。 - Pablolocalhost:5001
,则会出现错误。 - Tuan van Duonglocalhost
地址的URI。Uri.http('localhost:5001', '/api/v1/whatever', {'param1': 'one'})
。如果您在使用https
和localhost时遇到问题,可能是证书问题。 - Nate Bosch