見出し画像

【Flutter】http.get()で情報取得できないときの対処法

こんにちは。
1年前くらいにFlutterを勉強しはじめたものの途中で投げ出し、最近再度万協し始めている、さくです。

http.get()に対して普通にURLを引数に与えて実行したら怒られたので対処法メモ。
しらないうちにFlutter2がリリースされているようで、それが原因のトラブル?のような気がします。

以下のようなコードを実行しました。

Future<void> load() async {
   final response = await http.get('http://xxxxxx....');
 
     :
     :
     :
     
   );

実行すると、こんなこと言われます。

Error: The argument type 'String' can't be assigned to the parameter type 'Uri'.
- 'Uri' is from 'dart:core'.

http.get()はStringを受け付けていないのでUriを引数に与えてくださいとのこと。
GETしたいURLをUri.parse()してあげましょう。

Future<void> load() async {
   final res = await http.get(Uri.parse('http://xxxxxx....'));
 
     :
     :
     :
     
   );

これで実行できました。
昔は修正前のコードで通っていたような...?Flutter2の仕様変更でしょうか。

エラー検索したところ、日本語Webサイトがヒットしなかった気がしたので一応記事にしてみました。
自分と同じようなFlutter初学者に知識共有できれば幸いです。一緒に頑張りましょう。

おわり。


この記事が気に入ったらサポートをしてみませんか?