写在任何地方都可以,只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