Skip to content

Commit

Permalink
Merge branch 'main' of github.com:gogf/gf-site
Browse files Browse the repository at this point in the history
  • Loading branch information
gqcn committed Dec 13, 2024
2 parents f2d65db + 9b1b350 commit 53bea9a
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ description: '使用GoFrame生成API接口的控制器和SDK代码,从而帮
- 这里的 **版本** 通常使用 `v1`/ `v2`..这样的形式来定义,用以 `API` 兼容性的版本控制。当相同的 `API` 出现兼容性更新时,需要通过不同版本号来区分。默认使用 `v1` 来管理第一个版本。
- 这里的 **定义文件** 指的是 `API` 的输入输出定义文件,通常每个 `API` 需要单独定义一个 `go` 文件来独立维护。当然也支持将多个 `API` 放到一个 `go` 文件中统一维护。
- `api` 定义的结构体名称需要满足 `操作+Req``操作+Res` 的命名方式。例如: `GetOneReq/GetOneRes``GetListReq/GetListRes``DeleteReq/DeleteRes`、etc.
- 这里的操作是当前 `API` 模块的操作名称,通常对应 `CRUD` 是: `Create``Update``GetList/GetOne``Delete`
- 这里的操作是当前 `API` 模块的操作名称,通常对应 `CRUD` 是: `Create``Read``Update``Delete`

以下是项目工程模板中的 `Hello` 接口示例:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ CONFIGURATION SUPPORT
option go_package = "protobuf/demos";
option java_package = "protobuf/demos";
option php_namespace = "protobuf/demos";
typeMapping:
json:
type: google.protobuf.Value
import: google/protobuf/struct.proto
jsonb:
type: google.protobuf.Value
import: google/protobuf/struct.proto
```
:::tip
如果使用框架推荐的项目工程脚手架,并且系统安装了 `make` 工具,也可以使用 `make pbentity` 快捷指令。
Expand All @@ -89,6 +96,8 @@ CONFIGURATION SUPPORT
| `tables` | | 指定当前数据库中需要执行代码生成的数据表。如果为空,表示数据库的所有表都会生成。 | `user, user_detail` |
| `nameCase` | `CamelLower` | 生成的 `message` 属性字段名称格式。参数可选为: `Camel``CamelLower``Snake``SnakeScreaming``SnakeFirstUpper``Kebab``KebabScreaming`。具体介绍请参考命名行帮助示例。 | `Snake` |
| `option` | | 额外的 `proto option` 配置列表 | |
| `typeMapping` | | 用于自定义数据表字段类型到生成的Go文件中对应属性类型映射 | |
| `fieldMapping` | | 用于自定义数据表具体字段到生成的Go文件中对应属性类型映射 | |

## `gen dao` 中的 `entity` 差别

Expand All @@ -100,4 +109,4 @@ CONFIGURATION SUPPORT
### 不同之处

-`GRPC` 服务中, `gen dao` 生成的 `entity` 数据结构无法提供给 `GRPC` 接口使用,因为 `GRPC` 的数据结构需要使用 `proto` 文件来定义。因此,在 `GRPC` 服务中就需要使用到 `gen pbentity` 中生成的 `pbentity proto` 文件。同时,在 `GRPC` 微服务开发中, `gen dao` 生成的 `entity` 已经没有具体作用。
- 取名 `pbentity` 而不是 `entity` 的名称,是为了防止和 `gen dao` 中的 `entity` 含义冲突。
- 取名 `pbentity` 而不是 `entity` 的名称,是为了防止和 `gen dao` 中的 `entity` 含义冲突。
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ docker run -d --name mysql \

启动后,连接数据库,将数据表创建`sql`语句应用进去:
```text
$ mysql -h127.0.0.1 -p3306 -uroot -p
$ mysql -h 127.0.0.1 -P 3306 -u root -p
mysql: [Warning] Using a password on the command line interface can be insecure.
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ One of the purposes of this command is to standardize `api` code writing, which
- **Version** is usually defined as `v1`/`v2`, etc., for compatibility version control of `API`. Different versions are marked by different version numbers when compatibility updates occur. The first version is managed with `v1` by default.
- **Definition file** refers to the `API` input and output definition files, where each `API` is usually maintained independently in a separate `go` file. Of course, it also supports putting multiple `APIs` in one `go` file for unified maintenance.
- Structure names in `api` definition should conform to the naming convention of `Operation+Req` and `Operation+Res`, e.g., `GetOneReq/GetOneRes`, `GetListReq/GetListRes`, `DeleteReq/DeleteRes`, etc.
- The operation refers to the current `API` module's operation name, typically corresponding to `CRUD` as: `Create`, `Update`, `GetList/GetOne`, `Delete`.
- The operation refers to the current `API` module's operation name, typically corresponding to `CRUD` as: `Create`, `Read`, `Update`, `Delete`.

Below is a `Hello` interface example in the project template:

Expand Down
Binary file modified static/img/logo_full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 53bea9a

Please sign in to comment.