1

我正在尝试将POST数据传输到 Google 表格网络应用程序。

当我POST向端点发送数据时,我会返回状态 302。如果我POST将数据发送到新位置,我会得到状态 405。

当我使用 Postman 时它可以工作,但我无法让它在 Flutter 中工作。

Postman 收到 302,然后GET以我的 JSON 有效负载作为正文发送请求。这似乎违反了GET规范,但它确实有效。

我尝试了颤振的 HTTP 包和 DIO,两者都不让我通过GET. 我尝试了带和不带followRedirects.

我怎样才能通过GET颤振发送一个身体?

4

2 回答 2

3

您可以改用 dio 请求

await dio.request(
  "/test",
  data: {"id": 12, "name": "xx"},
  options: Options(method: "GET"),
);
于 2021-03-07T16:30:34.287 回答
0

使用 dio 配置您的 Options 小部件,如下所示,以避免第一个请求的重定向:

Options(
        followRedirects: false,
        validateStatus: (status) {
          return status < 500;
        }),

GET 不打算发送数据,请参阅https://stackoverflow.com/a/60312720/10286880

如果您想通过 POST 发送它们,您可以执行以下操作:

final res = await dio.post(
    '[YOUR ADRESS]',
    data: json.encode([YOUR BODY AS MAP])
  );
于 2021-03-07T16:26:29.910 回答