写点什么

Util 应用框架快速入门(二)- Web Api 快速入门

作者:何镇汐
  • 2023-11-07
    四川
  • 本文字数:1754 字

    阅读完需:约 6 分钟

Web Api 快速入门


Util 应用框架 Web Api 快速入门


本节演示 Util 应用框架 Web Api 开发的基本流程.

准备

下载 Util 应用框架配套代码生成项目,如果已下载,请拉取最新代码进行更新.

生成项目基架

打开 Util 代码生成项目解决方案 Util.Generator.sln .



将项目 Util.Generators.Console 设置为启动项目.



Util.Generators.Console 是一个控制台程序,只需修改几个简单配置,即可开始生成代码.


打开 appsettings.json 配置文件.



使用 Sql Server 生成代码

本小节使用 Sql Server 代码生成数据库.


appsettings.json 配置文件默认使用 Sql Server 数据库,连接字符串已经配置,如果与你的数据库设置不同,请修改.


按 F5 键启动控制台.



生成完成.


生成位置由 OutputPath 配置项 D:\Output 指定.


打开 D 盘,进入 Output 目录,可以看到生成的 Demo 项目.



使用 PostgreSql 生成代码

本小节使用 PostgreSql 代码生成数据库.


修改 appsettings.json 配置文件.


DbType : PgSql , 这个配置项指定使用的代码生成数据库类型.

TargetDbType: PgSql, 这个配置项指定项目使用的数据库类型.

ConnectionString: Server=127.0.0.1;User Id=admin;Password=admin;Database=Demo.Generator ,指定连接字符串



修改 appsettings.json 配置文件后,需要重新生成项目,否则可能不生效.


重新生成 Util.Generators.Console 项目, 按 F5 键启动控制台.



生成完成.


生成位置由 OutputPath 配置项 D:\Output 指定.


打开 D 盘,进入 Output 目录,可以看到生成的 Demo 项目.



使用 MySql 生成代码

本小节使用 MySql 代码生成数据库.


修改 appsettings.json 配置文件.


DbType : MySql , 这个配置项指定使用的代码生成数据库类型.

TargetDbType: MySql, 这个配置项指定项目使用的数据库类型.

ConnectionString: Server=127.0.0.1;User Id=root;Password=admin;Database=Demo.Generator;Port=3306;Charset=utf8 ,指定连接字符串



修改 appsettings.json 配置文件后,需要重新生成项目,否则可能不生效.


重新生成 Util.Generators.Console 项目, 按 F5 键启动控制台.



生成完成.


生成位置由 OutputPath 配置项 D:\Output 指定.


打开 D 盘,进入 Output 目录,可以看到生成的 Demo 项目.



运行示例项目

打开示例项目解决方案 Demo.sln.



解决方案分层结构基于领域驱动设计(DDD)分层架构.


DDD 分层架构包含大量构造块,对于大部分业务模块,手工编写这些构造块是枯燥而低效的,使用代码生成可以简化基础管道代码的编写.


如果你对 DDD 一无所知,可以把它们当成三层架构使用即可.

代码生成以机械的单表方式生成 CRUD 操作,如果你的业务较为复杂,在生成后立即修改它们.

你不应该依赖代码生成器,通常只在项目初期创建项目基架,后续变更仅生成代码片断并手工合并到你的项目,而不是完全覆盖.

查看代码生成质量

下面来看看生成的代码质量如何.


打开 Student 实体类.



每个实体,代码生成模板会创建两个文件,其中 .Base 结尾的文件用于放置属性,另一个放置业务方法.

对于简单的实体类,可能没有业务方法,你可以合并成一个文件.



可以看到生成的代码十分整洁,并已从必要的基类继承,还包含了注释和基础验证.

运行 Web Api 项目

打开 Demo.Api 项目下的 appsettings.Development 配置文件.



如果你的代码生成数据库以 .Generator 结尾,会帮你创建默认的开发数据库连接字符串.

对于本示例项目,开发数据库名称默认为 Demo .

如果生成的连接字符串为空值,或需要修改参数,请自行配置连接字符串.

DefaultConnection 是 Web Api 项目的连接字符串, TestConnection 用于 Web Api 项目的集成测试.



按 F5 键 启动 Demo.Api 项目.


Util 使用 Entity Framework Core 作为主要的数据访问框架.

Web Api 项目已经配置了数据库迁移,不必手工输入命令行,启动时会自动运行命令.



可以看到 Demo.Data.SqlServer 项目已经创建 Migrations 迁移目录.


数据库也已经创建 Demo 数据库.


如果使用其它数据库生成代码,则与相应的数据库保持一致,比如 Demo.Data.MySql .



数据迁移完成,将打开 Swagger 页面.


下面我们使用 Swagger 调用 Web Api 创建一个学生.


找到 POST /api/Student, 点击 Try it out 按钮.



输入下列 Json 数据, 点击 Execute 按钮.


{  "name": "张三",  "gender": 0,  "age": 18,  "birthday": "2023-10-19T06:53:55.469Z",  "idCard": "123",  "enabled": true}
复制代码



Swagger 返回操作成功消息.



查询数据库 Student 表,可以看到已经插入成功.


运行其它数据库生成代码的操作类似.


用户头像

何镇汐

关注

15年以上.Net开发经验,擅长代码封装 2023-11-01 加入

15年以上.Net开发经验,擅长代码封装,主要作品为Util应用框架

评论

发布
暂无评论
Util应用框架快速入门(二)- Web Api 快速入门_开源_何镇汐_InfoQ写作社区