前回の記事でopenapi.yaml
からdartコードを生成できたけど、
OpenAPITools/openapi-generatorが吐くコードは、Dart2だったりとあんまりだった。。
他にもなにかいいのがないかなと、
いろいろ調べてみたときの備忘録(*´ω`*)
パッケージ
いろいろ調べてみると、結構あった。
LIKESとかは2024/03/09時点の数値
swagger_parserかswagger_dart_code_generatorのどちらかがよさそう。
利用しているライブラリの好みで選ぶでもよいかも?
- swagger_parser | Dart package
- HTTP Client: retrofit + dio
- Data Class: json_serializable or freezed or dart_mappable
- 45 LIKES / 140 PUB POINTS / 76% POPULARITY / 75 GitHub Stars
- swagger_dart_code_generator | Dart package
- HTTP Client: chopper + http
- Data Class: json_serializable
- 268 LIKES / 120 PUB POINTS / 89% POPULARITY / 240 GitHub Stars
- openapi_freezed_dio_builder | Dart package
- HTTP Client: dio
- Data Class: json_serializable + freezed
- 25 LIKES / 110 PUB POINTS / 28% POPULARITY / 12 GitHub Stars
- openapi_generator | Dart package
- OpenAPITools/openapi-generatorのdart wrapper
- Dart2系..
- HTTP Client: http or dio
- Data Class: 独自
- 96 LIKES / 130 PUB POINTS / 89% POPULARITY / 103 GitHub Stars
HTTP Client関連の比較
利用しているパッケージは、それぞれこんな感じ。
どちらもsource_genを使ったHTTP Clientのgenerator
HTTP Client generator
- retrofit
- chopper
- Chopper is an http client generator for Dart and Flutter using source_gen and inspired by Retrofit.
- 内部ではhttpを利用
- 747 LIKES / 140 PUB POINTS / 98% POPULARITY / 692 GitHub Stars
HTTP networking package
- dio
- 6706 LIKES / 140 PUB POINTS / 100% POPULARITY / 12.1k GitHub Stars
- http
- 7300 LIKES / 140 PUB POINTS / 100% POPULARITY / 988 GitHub Stars
以上!! とりあえず、ためしてみよう(*´ω`*)