栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

Blazor + Ant Design + .NET 5快速开发框架(7) webApi设计思路

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Blazor + Ant Design + .NET 5快速开发框架(7) webApi设计思路

前言

虽然一直在更新代码,但是文章写的比较少了,因为一直再写webApi,涉及到图片可能比较少,而且一直再改,因为我也不太确定用哪种方法或者设计模式是最好的,个人定义是使用方便,快速开发,所以摒弃了很多复杂设计,用最简单但不简陋的方法设计出来。

系统架构

初始想法很简单,先做出来,然后在修改添加功能,直至完善,这是一个初始的设计思路,界面发送http请求到webApi,然后请求到控制器,控制器调用请求方法,请求方法调用请求数据,然后返回,中间有一步是通过控制器,将model转为viewModel,因为不能所有数据都符合要求,所以中间有一部转换,但是转换要求只能是已有数据或者不访问数据库的数据进行转换。

大概功能

这里先简单介绍一下,想要做出来的系统的大概功能需求

1、统一的请求和返回

通过约束统一httpHelper进行统一请求,请求过程中需要携带token进行授权访问,采用jwt方式进行授权,统一返回ResultMsg类,包含了

状态请求状态代码Status,

问题类型的简短、可读的摘要Title,

标识问题类型的 URI 引用Type,

TraceId,

此问题特定的可读说明,Detail

获取与此实例关联的验证错误Errors,

用于存放附加数据Data,

至于使用说明,后面文章会给出详细说明,主要通过状态代码来判断请求结果,基本设定于http状态代码相同。通过判断状态代码,来表示当前请求成功,失败后需要直接在前端提示出错误信息,包括解决方法和详细提示。还包含了请求等待时load状态等。

 

2、统一的Table表格

表格希望可以直接通过请求反射结果,来自动生成需要的表头,然后对应表头填充数据,表头需要有数据类型,通过类型来判断当前显示什么状态,第一步因为还没有设计权限,所以全部显示,后面想要通过权限控制来限制显示哪些数据,数据排序等。如icon则显示图标,img则显示图片等,有树状图还要显示树状图等。

对于表格的增删改查,需要通过不同的页面完成,我希望是通过统一的界面去完成,这样,只要model发生了变话,前端无需任何更改,自动反射出来,当然,可以通过权限来控制是否显示等。目前我是做到了这里,表格的增删改还没有做,后续会制作出来。

3、代码生成器

为什么要第三步做代码生成器,前边需要一个基础表格来提供思路,前面有了菜单管理,可以在菜单管理的基础上来进行生成,而且代码生成器出来以后,后面工作会快很多,并且越是统一基础的东西越应该先做,第三阶段会把代码生成器做出来,代码生成器希望可以直接通过model生成增删改查页面,因为我用的是代码先行,数据库是通过代码生成的,所以正常解决办法是通过删除数据库或者手动添加表来进行,我打算前期先这样解决,后面通过model生成对应的表,这样的话就可以专注与model和方法的定义,这样两步就可以生成一个可用页面。

4、用户、角色、用户组、角色组等页面

先用代码生成器生成对应页面,具体功能在根据实际的功能去修改,角色是用来定义角色权限,用户是对用户进行分组,角色是对角色进行分组,但是前期用户组和角色组不会有具体的功能,只是进行分组,只有角色可以赋予权限,用户使用权限,对于增删改查会自动检查是否有权限。角色有三个默认角色,

1、管理员,这个角色默认全部权限

2、未登录角色,为什么要添加这个角色,因为有的页面我想让没有登录的人可以看到,引导登录,这样比只能看登录页面要好很多,所以默认浏览的都是未登录角色的权限页面,

所有的用户会默认有这个角色,同样的权限可以不必分配

3、默认角色,如果注册账号或者没有分配角色,但是已经登录了,那么会在默认拥有该权限,该权限没有额外权限,如果没有手动分配,只有未登录一样的权限。

5、权限管理

对于权限这块是一个重点,但是还没想好怎么去做,大概就是无需开发者去主动控制,默认会检查权限,也无需额外的关心。

6、日志管理 7、网站配置 8、首页

计划0.1版本就这么多功能,满足基础需要看下情况

项目地址

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号