概要
どうも、@daiki1003です!先日、dio
のサポートが終了したとして、Twitterを賑わせていましたね。
また、dio
の作者である方から、dio
のサポート終了と、diox
への正式な引き継ぎがIssue
ベースで発表されていました。
今では、diox
への変更内容がdio
に5.0.0
として反映されている状態です。
本記事では、そんな経緯で新たな旅路をスタートさせたdio 5.0.0
へのマイグレーション内容をメモ的に記していこうかと思います。
・以前のDio
を使っていたけど、何がどう変わっているのか?
・何を修正しなければいけないのか?
などが分かる記事になっているかなと思います。
筆者環境
名前 | バージョン |
Flutter | 3.7.3 |
Dart | 2.19.2 |
dio(Before) | 4.0.6 |
コンパイルエラー
HttpClientAdapter
Before
dio.httpClientAdapter = DefaultHttpClientAdapter();
After
dio.httpClientAdapter = HttpClientAdapter();
BaseOptionsのtimeout指定がDurationに
Before
BaseOptions( baseUrl: '${Env.apiBaseUrl}/api/v1/', connectTimeout: 30000, sendTimeout: 30000, receiveTimeout: 30000, )
After
BaseOptions( baseUrl: '${Env.apiBaseUrl}/api/v1/', connectTimeout: const Duration(seconds: 30), sendTimeout: const Duration(seconds: 30), receiveTimeout: const Duration(seconds: 30), )
DioErrorType
enum
の定義が変わっています。
Before | After |
DioErrorType.connectTimeout | DioErrorType.connectionTimeout |
DioErrorType.response | DioErrorType.badResponse |
DioErrorType.other | DioErrorType.unknown |
– | DioErrorType.badCertificate |
– | DioErrorType.connectionError |
全体で見るとこの様に変わっています。
Before
enum DioErrorType { connectTimeout, sendTimeout, receiveTimeout, response, cancel, other, }
After
enum DioErrorType { connectionTimeout, sendTimeout, receiveTimeout, badCertificate, badResponse, cancel, connectionError, unknown, }
現状、筆者の元で変更しなければならないのはこの辺のみでした!
誰かのお役に立てば。Twitterフォローお願いします
「次回以降も記事を読んでみたい!」「この辺分からなかったから質問したい!」
そんな時は、是非Twitter (@daiki1003)やInstagram (@ashdik_flutter)のフォローお願いします♪
Twitterコミュニティ参加お願いします
Twitterコミュニティ「Flutter lovers」を開設しました!参加お待ちしております😁
☕️ Buy me a coffee
また、記事がとても役に立ったと思う人はコーヒーを奢っていただけると非常に嬉しいです!
コメント