私はこの単純なダーツスニペットを持っています:
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しかし、 get が呼び出されるとすぐに、次のエラーが発生します。
POST http://localhost/path 400 (Bad Request)
try/catchキャッチされた例外にはClientExceptionステータスコードとレスポンスボディに関する情報がないため、ブロックを配置しても役に立ちません(ここで重要です)。ここで例外をスローせずにステータスコードを処理するにはどうすればよいですか?
アップデート:
私は呼び出し後にこのスニペットを持ってい_http.post()ます:
if (response.statusCode == 400) {
// manage bad request
}
しかし、responseはnullであるため、statusCodeここでは にアクセスできません。
更新 2:
サーバーでリクエストを取得し、サーバーでトレースできます。前述したように、サーバーは400 Bad Request応答を送信しており、正常に動作しています。しかし、Dart で応答を取得するとエラーが発生します。