Util 应用框架快速入门(二)- Web Api 快速入门
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 按钮.
Swagger 返回操作成功消息.
查询数据库 Student 表,可以看到已经插入成功.
运行其它数据库生成代码的操作类似.
评论