编写的动态后台接口越来越成熟

考虑几年的动态后台接口终于用到两个小项目上了。

动态接口原理很简单:在数据库里写入接口名称和SQL语句及连接字符串(有微服务的意思),再授权给用户就可以了。

例如:要创建一个新建角色的接口

保存后就有了一个叫CreateRole的接口。

前台访问http://xxx/create并发送json {api:'CreateRole',RoleID,'GUID',RoleName:'xxx',Description:'ss'}就可以了。

后台接收到json,先去数据库找到功能表里找到CreateRole,看看用户是否由此权限,如果有就用前台传来的json替换SQL里参数,例如用RoleName替换#{RoleName},运行SQL并把结果返给前台。

业务逻辑的考虑:

留了一个IValidation的接口,当后台找到CreateRole,也会去找一个叫CreateRole的DLL,如果没找到就会继续运行,如果找到了就运行客户自定义的业务逻辑。

自定义业务逻辑很简单,继承IValidation,接口会把前台参数传入,例如:

namespace CreateRole
{
    public class Validation: IValidation
    {
       
        public JToken token { get; set; }

        public bool Run()
        {
           string roleName = token["RoleName"].ToString();
            if (string.IsNullOrEmpty(roleName))
            {
                throw new Exception("角色名不能为空。");
            }
            return true;
        }
    }
}

接口就能把此异常传给前台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值