写在任何地方都可以,只DLL注册到了都能识别
//注册ReZero.Api builder.Services.AddReZeroServices(api => { var apiObj = SuperAPIOptions.GetOptions("rezero.json"); //注册DLL var assemblyList = Assembly .GetExecutingAssembly() //根据dll命过滤出需要的 .GetAllDependentAssemblies(it => it.Contains("MyProject")) .ToArray(); apiObj!.DependencyInjectionOptions = new DependencyInjectionOptions(assemblyList); api.EnableSuperApi(apiObj); });
/// <summary> /// 动态接口 /// </summary> [Api(200100, GroupName = "分组1")]//第一个参数是分类ID , 分组就是菜单下的分类 public class MyApiController { [ApiMethod("我是A方法")] public int A(int num,int num2) //默认 { return num+num2; } }
[ApiMethod("我是B方法")] public string B(byte[] file)//文档参数用byte[] { return "文件长度"+ file.Length; }
[ApiMethod("我是C方法", HttpMethod = HttpType.Post)]//设置接口类型 public string C(string a)//可以是一个类对象 { return a; }
[ApiMethod("我是D方法")] public Object D(ClassA classA)//可以是一个类对象 { return classA; }
默认: 是 api/分类id/类名/方法
自定义: URL+方法名
版本要求:1.6.12+
/// <summary> /// 动态接口 /// </summary> [Api(200100, GroupName = "分组1",Url= "/api/MyApiController")] public class MyApiController { [ApiMethod("我是A方法")] public int A(int num,int num2) //方法里面如果设置URL会覆盖类中URL { return num+num2; } }
版本要求:1.6.12+
[ApiMethod("我是D方法")] [UrlParameters]//启用格式化URL ,参数只能是int string这种基础类型 public int D(int num, int num2) { return num + num2; }
通过界面去创建API,真正的无代码创建
详细文档:https://www.donet5.com/Doc/32/2610
2016 © donet5.comApache Licence 2.0