Blogs
📆 2025-12-19 00:45

使用代码生成

接下来我们来见识一下代码生成的威力。本篇文档介绍如何使用代码生成功能,这里我们将通过使用Studio WebUI来完成相关的操作。

检查项目配置

通过模板创建的项目通常不需要额外的配置。保险起见,我们还是检查一下项目配置,并了解一下配置的含义。

使用perigon studio 启动Studio WebUI,点击某个解决方案旁边的⚙️图标,打开配置弹窗:

config

以上主要是目录的配置,这意味着你不一定要使用原模板中的目录结构,你可以自定义目录结构,但要确保与配置中保持一致即可。

这里我们主要关注的是用户外键名,模板默认包含了UserId,用来表示用户实体在其他实体中的外键属性名。

Note

用户外键名指与身份验证相关的实体类,通常与数据权限有关,其标识使用IUserContext获取,在代码生成时会进行逻辑处理,所以需要与普通实体类区分出来。

生成DTO/Managers/Controllers

选择某个解决方案,进入工作台,我们将会看到实体列表,在操作列中有三个生成操作按钮,它们分别是:

  • 生成DTO:通过实体解析生成对应的DTO模型定义
  • 生成Manager:生成包含基础CURD操作的Manager类,由于依赖DTO,会自动生成成DTO。
  • 生成Controller:生成包含基础CURD操作的Controller类,由于依赖Manager,会自动生成成Manager和DTO。

entity_list

生成客户端请求服务

通过OpenAPI规范,我们可以生成对应的客户端请求服务代码。

首先,我们先来添加OpenAPI地址,点击左侧导航栏中的OpenAPI,进入OpenAPI管理页面,点击➕图标。

add openapi

添加后,工具会请求并解析json内容(请确保地址正确并可访问),然后提供接口列表和信息。

现在,我们来生成客户端请求服务代码,在顶部操作栏的右侧,点击</>图标:

gen request

  • 请求客户端:目前支持生成AngularCsharp,Axios客户端请求服务。
  • 输出目录:代码生成的输出目录。
  • OnlyModels选项:默认不选中,表示生成完整的客户端请求服务代码,如果选中则只生成模型定义。

Note

如果你觉得生成的客户端请求代码不符合你的要求,可以通过自定义模板来实现,具体请参考自定义代码生成模板文档。