基础开发
# 后端插件开发
# 定义模型
在数据库中创建表结构,然后在Data目录下创建实体模型User
,继承自Entity
泛型,底层约定表主键名称为id,其类型为Entity
泛型类型,比如如下为string
1、若id需指定生成,则显式定义实体构造函数
2、若id需自动生成,id将以Guid生成,所以指定泛型类型为Guid
# 上下文定义
EF Core上下文集成自底层IoTCenterDbContext<>
泛型类,然后将操作实体模型存放到此类中
# 仓储定义
响应数据结构必须通过底层暴露的OperateResult
包裹并返回,将操作实体进行DTO映射转换,DTO模型存放在Models目录
# 仓储实现
具体仓储实现继承自底层暴露的EfCoreRepository
泛型类,第一个参数为上下文,第二个参数为指定实体模型、第三个参数为实体模型主键类型
添加、删除、查询、更新常规基本操作,比如如下添加,AddAsync
方法在基类中已有实现
# 注册仓储和上下文
在Startup
类文件中注册仓储以及EntityFramework Core上下文
# 控制器使用
IoT平台默认使用Cookie认证,所以必须显式定义认证方案,否则当访问接口时会抛异常,通过构造函数使用注册的仓储接口,另外请求方式建议遵循RESTful风格
# 测试验证
在
\IoTCenter\IoTCenterWeb\publish\plugins
目录下创建以项目名称命名的文件夹,并将项目生成的dll和json文件复制到文件夹中。然后启动WebAPi服务并访问Web访问健康接口api/user/health验证插件是否能正常加载
若需调试接口,将其附加到WebAPi服务进程即可
依托Postman模拟测试接口
将默认Cookie认证方案注释,将整个控制器访问通过匿名特性修饰,否则通过Postman访问将出现401
比如我们测试添加用户接口
上次更新: 3/23/2023, 3:15:49 PM