Flutter OpenAPI模型生成插件dart_openapi_model_gen的使用

发布于 1周前 作者 htzhanglong 来自 Flutter

Flutter OpenAPI模型生成插件dart_openapi_model_gen的使用

dart-openapi-model-gen 是一个用于生成OpenAPI Swagger定义的Dart模型的命令行工具。它特别为支持Supabase而构建,因为当前的Supabase CLI缺乏这些功能。

这些模型可以在你的项目中使用,以进行类型安全的数据库查询。

在你的仓库中使用

flutter pub add --dev dart_openapi_model_gen
dart run dart_openapi_model_gen -o lib/models/gen -i <your-swagger-url>

示例

你可以运行以下命令来尝试使用任何Swagger文件:

dart run bin/dart_openapi_model_gen.dart -i https://petstore.swagger.io/v2/swagger.json

对于Supabase特别来说,你可以使用以下命令:

dart run bin/main.dart -i https://<your-project-id>.supabase.co/rest/v1/?apikey=<your-anon-key>

更多关于Flutter OpenAPI模型生成插件dart_openapi_model_gen的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter OpenAPI模型生成插件dart_openapi_model_gen的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用dart_openapi_model_gen插件来生成OpenAPI模型的详细步骤和代码示例。

1. 安装插件

首先,你需要在你的Flutter项目中添加dart_openapi_model_gen插件。打开你的pubspec.yaml文件,并在dev_dependencies部分添加以下内容:

dev_dependencies:
  build_runner: ^2.1.4
  dart_openapi_model_gen: ^x.y.z  # 请替换为最新版本号

然后运行以下命令来安装依赖:

flutter pub get

2. 配置build.yaml

接下来,你需要在项目的根目录下创建一个build.yaml文件(如果还没有的话),并添加以下配置:

targets:
  $default:
    builders:
      dart_openapi_model_gen:openapi_gen:
        options:
          input_spec: path/to/your/openapi.yaml  # 请替换为你的OpenAPI规范文件的路径
          output_dir: lib/generated  # 生成文件的输出目录

3. 编写OpenAPI规范文件

确保你有一个有效的OpenAPI规范文件(例如openapi.yaml),例如:

openapi: 3.0.0
info:
  title: Simple API
  version: 1.0.0
paths:
  /users:
    get:
      summary: List all users
      responses:
        '200':
          description: A list of users
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string

4. 生成模型

使用以下命令来生成Dart模型:

flutter pub run build_runner build

如果一切正常,你应该会在lib/generated目录下看到生成的Dart模型文件,例如user.dartusers_get_response.dart

5. 使用生成的模型

现在你可以在你的Flutter项目中导入并使用这些生成的模型。例如:

import 'package:your_project/generated/user.dart';
import 'package:your_project/generated/users_get_response.dart';

void main() {
  // 示例用户数据
  User user = User()
    ..id = 1
    ..name = "John Doe";

  // 示例响应数据
  UsersGetResponse response = UsersGetResponse()
    ..data = [user];

  // 打印生成的模型数据
  print(response.toJson());
}

注意事项

  • 确保你的OpenAPI规范文件是有效的,并且符合OpenAPI 3.0规范。
  • 如果你的OpenAPI规范文件很大或很复杂,生成的模型文件可能会很多,需要合理组织你的项目结构。
  • dart_openapi_model_gen插件可能会随着版本更新而添加新功能或修复bug,建议定期查看其官方文档和更新日志。

通过以上步骤,你应该能够成功在Flutter项目中使用dart_openapi_model_gen插件来生成OpenAPI模型。

回到顶部