gpt4 book ai didi

dart - 在 Dart 中处理非 Ok 请求

转载 作者:行者123 更新时间:2023-12-03 03:38:07 24 4
gpt4 key购买 nike

我有这个简单的 dart 片段:

import 'package:http/http.dart' as http;

Client _http = new BrowserClient();

final response = await _http
.post(url, headers: someHeader, body: someValue);

当前请求的服务器返回 Bad Request 400 响应。由于某些原因我希望能够获取状态代码。但是一旦调用 _http.post ,我就会收到此错误:

POST http://localhost/path 400 (Bad Request)

将 block 放入 try/catch 中并没有帮助,因为捕获的异常是 ClientException ,它没有有关状态代码和响应正文的信息(这是这里很重要)。我如何在这里处理状态代码而不引发异常?

更新:

我在 _http.post() 调用后得到了这个片段:

if (response.statusCode == 400) {
// manage bad request
}

但是 responsenull,因此此处无法访问 statusCode

更新2:我在服务器上收到请求并可以在服务器上跟踪。正如我提到的,服务器正在发送 400 Bad Request 响应,并且工作正常。但是在 Dart 中获取响应会导致错误。

最佳答案

Response 对象有一个字段 statusCode,您可以在其中获取响应的状态代码。你可以这样做:

final response = await _http
.post(url, headers: someHeader, body: someValue);
if (response.statusCode == 400) {
// manage bad request
}

关于dart - 在 Dart 中处理非 Ok 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49244928/

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