如何在flift/Dart http请求对象上设置头?
我需要一种方法将dart http请求对象的头设置为application/JSON 我想构建一个请求对象以发送到我的后端API。我将主体设置为我的JSON对象,但当它被发送时,它将默认标题设置为text/html,而不是application/JSON 我尝试过使用内置的方法如何在flift/Dart http请求对象上设置头?,http,flutter,dart,Http,Flutter,Dart,我需要一种方法将dart http请求对象的头设置为application/JSON 我想构建一个请求对象以发送到我的后端API。我将主体设置为我的JSON对象,但当它被发送时,它将默认标题设置为text/html,而不是application/JSON 我尝试过使用内置的方法 http.post(url,dynamic body); 但不幸的是,这个方法将主体放在URL的参数中,我需要它放在请求的实际主体中 因此,我构建了一个http请求对象,并手动设置URL和正文,但正如我所说,它将标题设
http.post(url,dynamic body);
但不幸的是,这个方法将主体放在URL的参数中,我需要它放在请求的实际主体中
因此,我构建了一个http请求对象,并手动设置URL和正文,但正如我所说,它将标题设置为text/html。
我已经阅读了的文档,但不幸的是,我还没有找到设置标题的方法
postRequest(uri) async {
Uri url = Uri.tryParse("https://ptsv2.com/t/umt4a-1569012506/post");
http.Request request = new http.Request("post", url);
request.body = '{mediaItemID: 04b568fa, uri: https://www.google.com}';
var letsGo = await request.send();
print(letsGo.statusCode);
}
非常感谢所有可能的解决方案
另外,这是我第一次询问堆栈溢出问题,因此如果我在发布过程中出现任何错误,我深表歉意。已解决
postRequest(uri) async {
Uri url = Uri.tryParse("https://ptsv2.com/t/umt4a-1569012506/post");
http.Request request = new http.Request("post", url);
request.headers.clear();
request.headers.addAll({"content-type":"application/json; charset=utf-8"});
request.body = '{mediaItemID: 04b568fa, uri: https://www.google.com}';
var letsGo = await request.send();
print(letsGo.statusCode);
}
我在请求对象默认设置编码时遇到了一些问题。
通过手动指定utf-8,我正在联系的服务器将接受它
for the post or get any request you can Add Header like this -
var permAddUrl = 'your requested url';
var bodyParameters = {
'Email': email,
'MobileNo': mobileNumber,
};
await http.post(
requesturl,
headers: { 'Content-Type': 'application/x-www-form-urlencoded',
"Authorization":"$token",
},
body: bodyParameters,).then((response) {
var data = json.encode(response.body);
print(data);
setState(() {
if(response.statusCode == 200){
//var statesList = data['data'];
UtilAction.showSnackBar(context, " Details Submitted Successfully");
}
});
});