---
url: /fastapi_best_architecture_docs/backend/reference/code-generation.md
---
::: tip
代码生成后仍建议结合 [fba skills](https://skills.sh/fastapi-practices/skills/fba) 复核分层命名、响应模型、分页、事务、权限和格式化结果，不要把生成结果直接视为最终代码
:::

::: tip
此功能当前仅适用于后端工程，不包含前端代码
:::

::: warning
API 调用无法直观的预览代码生成结果，它必须配合前端项目使用，请查看查看 [效果预览](#效果预览)
:::

## 概念

代码生成器使用 api 调用实现，包含【业务】和【模型】两个模块

### 业务

包含代码生成的相关配置，详情请查看：`backend/plugin/code_generator/model/business.py`

### 模型

包含代码生成所需要的模型列信息，就像正常定义模型列一样，目前支持的功能有限

## 使（食）用

1. 启动后端服务，打开 swagger 文档直接操作
2. 通过第三方 api 调试工具发送接口请求
3. 同时启动前后端，从页面进行操作

接口参数基本都有说明，请注意查看

### F. 纯手动模式

不推荐（手动创建业务接口被标记为「已弃用」）

1. 通过创建业务接口手动添加一项业务数据
2. 通过模型创建接口手动添加模型列
3. 访问预览、磁盘写入、下载接口，执行代码生成相应工作

### S. 自动模式

推荐

1. 访问 `tables` 接口，获取数据库表名列表
2. 通过 `imports` 接口，导入数据库已有的数据库表数据（将自动创建业务表数据和模型表数据）
3. 访问预览、磁盘写入、下载接口，执行代码生成相应工作

## 效果预览

![cg1](/images/code-generator1.png)

![cg2](/images/code-generator2.png)
