Skip to content

jinyuttt/DynamicWebApi

Repository files navigation

DynamicWebApi

动态创建WebApi
将一般类快速部署为WEBRPC(webapi)


使用方法: 1.安装库 DynamicControllersFactory
2.在webapi服务中添加扩展
services.AddWebApiDirectory();//添加程序集

        //添加服务扩展
        services.AddDynamicWebApi(new DynamicWebApiOptions()  
        {  
            ControllerFeature = (P) => {  

                //注入判断为控制器的类,返回true就是控制器  
                if (P.GetInterface(typeof(ICall).Name) == null)  
                {
                    return false;  
                }  
                return true;  
            }  
        });  

3.可以添加版本信息,映射新的控制器URL名称和域名称
DynamicWebApiOptions有配置项,原理是根据配置值,查找该值的静态字段,常量,获取对应的值进行替换
例如:
ControllerVersion = "vserion", 类常量字段 const string version = "v2";
则路径规则变为:api/v2/控制器名称/方法名称,注意:配置的是字段名称
同理再例如:
ControllerMapName = "MapName",类常量字段 const string MapName= "NewCotroller";
则路径规则变为:api/NewCotroller/方法名称,此时控制器名称被替换

About

快速将普通类部署为WebAPI服务

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages