我需要一种方法来将dart http Request对象的头部设置为application/JSON。
我想构建一个Request对象发送到我的后端API。我将主体设置为我的JSON对象,但当它被发送时,它将头部默认为text/html而不是application/json。
我试过使用内置方法
http.post(url,dynamic body);
但不幸的是,这个方法将主体放在URL的参数中,我需要它在请求的实际主体中。
所以我构建了一个http Request对象,并手动设置URL和主体,但就像我说的,它将头部设置为text/html。我已经阅读了https://pub.dev/documentation/http/latest/http/Request-class.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);
}
非常感谢任何可能的解决方案!
这是我在Stack Overflow上的第一个问题,所以如果我在帖子中犯了任何错误,我道歉。
2条答案
按热度按时间kzipqqlq1#
解决了!
我在请求对象默认设置编码时遇到了一些问题。通过手动指定utf-8,我联系的服务器接受它。
hmmo2u0o2#