gpt4 book ai didi

rest - http使用application/json content-type发布 map 对象

转载 作者:行者123 更新时间:2023-12-03 02:58:23 26 4
gpt4 key购买 nike

我在尝试使用“package:http / http.dart'pub包将一些JSON数据发布到Web服务时遇到问题。我已经正确格式化了数据(通过使用适用于Chrome的Advanced REST Client扩展进行发布,我对此进行了确认),唯一的区别是Content-Type被强制为错误的类型(Web服务仅接受“application / json”):

如果body是Map,则使用编码将其编码为表单字段。请求的内容类型将设置为“application / x-www-form-urlencoded”;这不能被覆盖。

该文档建议:

要对请求进行更细粒度的控制,请改用Request或StreamedRequest。

使用这些方法中的任何一个对主体进行映射并使用Content-Type“application / json”进行HTTP POST的示例吗?我被困住了...

最佳答案

您可以在客户端使用HttpRequest:

HttpRequest.request(url, method: 'POST',
requestHeaders:{'Content-Type': 'application/json;charset=utf-8'},
sendData: '{"a":1}').then((r) => ....);

HttpClient在服务器端:

import 'dart:convert';
import 'dart:io';
main() {
HttpClient client = new HttpClient();
client.postUrl(Uri.parse("...")).then((HttpClientRequest request) {
request.headers.add('Content-Type', 'application/json;charset=utf-8');
request.write('{"a":1}');
return request.close();
}).then((HttpClientResponse response) {
UTF8.decodeStream(response).then(print);
});
}

关于rest - http使用application/json content-type发布 map 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22513921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com