基于SqlKata Query Builder的可根据数据表自动生成Restful API的dotnet中间件
- MySql MicroApi.MySql
- SqlServer MicroApi.SqlServer
- PostgreSQL MicroApi.PostgreSQL
- Oracle MicroApi.Oracle
- Sqlite MicroApi.Sqlite
- Firebird MicroApi.Firebird
目前仅支持JWT方式
-
安装nuget包 MicroApi.Core
Install-Package MicroApi.Core -Version 1.0.0
or
dotnet add package MicroApi.Core --version 1.0.0
-
安装数据库对应类型的nuget包,比SQL Server安装 MicroApi.SqlServer
Install-Package MicroApi.SqlServer -Version 1.0.0
or
dotnet add package MicroApi.SqlServer --version 1.0.0
-
在文件Startup.cs中的ConfigureServices方法中添加如下代码:
services.AddMicroApi() .UseSqlServer(connectionString)//Your sql server database connection string .AddMicroApiAuthorization();//添加接口认证中间件
-
在文件Startup.cs中的Configure方法中添加如下代码:
app.UseMicroApi();
生成api的访问路径统一为:/api/{TableName}
暂不支持/api/{TableName}/{PrimaryKey}这种路由,后续版本考虑增加表名以及字段名称自定义映射功能后会支持。当前版本主要支持以下功能:
分页查询
接口路径为:/api/{TableName}?page=&size= 或者 /api/{TableName}?offset=&limit= 两种方式
排序
- 升序接口路径为:/api/{TableName}?orderAsc={列名1,列名2,列名3,.....}
- 降序接口路径为:/api/{TableName}?orderDesc={列名1,列名2,列名3,.....}
特殊条件查询,比如大于等于、小于等于、大于、小于、IN、LIKE查询
- 大于等于:/api/{TableName}?{列名}.ge={值}
- 大于:/api/{TableName}?{列名}.gt={值}
- 小于等于:/api/{TableName}?{列名}.le={值}
- 小于:/api/{TableName}?{列名}.lt={值}
- IN: /api/{TableName}?{列名}.in={值}
- LIKE: /api/{TableName}?{列名}.like={值}
用于新增数据,访问路径后面跟的参数无效
用于更新数据,可按查询条件进行批量更新。查询条件支持GET中的特殊条件查询,比如大于等于、小于等于、大于、小于、IN、LIKE查询
用于删除数据,可按查询条件进行批量删除。查询条件支持GET中的特殊条件查询,比如大于等于、小于等于、大于、小于、IN、LIKE查询