flutter 如何从dart服务器读取客户端发送的客户端post请求体

hjzp0vay  于 2023-04-13  发布在  Flutter
关注(0)|答案(1)|浏览(183)

我有dart服务器

httpServer = await HttpServer.bind(InternetAddress.anyIPv4, myPort);

客户端应该发送一个post请求,在它的主体中有一些JSON数据,如何读取该主体

..addRouter(fileAddedToShareSpaceEndPoint, HttpMethod.POST,
        (request, response) {
      //? here make a provider to handle peer share space items then update the items if the viewed items are for the updated peer
      var headers = request.headers;
      

      print(headers);
    })

我得到的一些答案是,您可以使用以下代码,但我得到了两个错误

var body1 = await request.transform(Utf8Decoder()).join();
// or 
var body2 =  request.transform(utf8.decoder).join();

我已经有了一个完整的服务器设置,它正在运行,所以我不想使用其他库,如shelf或其他东西,因为这将是大量的迁移工作

yuvru6vn

yuvru6vn1#

试试看!
你需要bind模式解析req,每个新的bind req,finishing join()现在你已经处理了所有新的bind启动请求流在“content”中,现在你可以使用content来解码。

String content = await utf8.decoder.bind(req).join();
var data = jsonDecode(content) as Map<String, dynamic>;

5个多小时的尝试。好运气为您的 dart 服务器没有架子:-)我也这样做
阅读这篇文章
https://medium.com/ionicfirebaseapp/handling-a-post-request-in-a-server-in-flutter-4f4bcf1e00b7

相关问题