私はこの単純なダーツスニペットを持っています:
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 で応答を取得するとエラーが発生します。