AutoApi
基於SqlKata Query Builder的可根據數據表自動生成Restful API的dotnet中間件
項目地址
支持的數據庫
- MySql AutoApi.MySql
- SqlServer AutoApi.SqlServer
- PostgreSQL AutoApi.PostgreSQL
- Oracle AutoApi.Oracle
- Sqlite AutoApi.Sqlite
- Firebird AutoApi.Firebird
示例
用法
-
安裝nuget包 AutoApi.Core
Install-Package AutoApi.Core -Version 1.0.3
or
dotnet add package AutoApi.Core --version 1.0.3
-
安裝數據庫對應類型的nuget包,比SQL Server安裝 AutoApi.SqlServer
Install-Package AutoApi.SqlServer -Version 1.0.0
or
dotnet add package AutoApi.SqlServer --version 1.0.0
-
在文件Startup.cs中的ConfigureServices方法中添加如下代碼:
services.AddAutoRestfulApi() .UseSqlServer(connectionString);//Your sql server database connection string
-
在文件Startup.cs中的Configure方法中添加如下代碼:
app.UseAutoRestfulApi();
API內置格式
生成api的訪問路徑統一為:/api/{TableName}
GET
暫不支持/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={值}
POST
用於新增數據,訪問路徑后面跟的參數無效
PUT
用於更新數據,可按查詢條件進行批量更新。查詢條件支持GET中的特殊條件查詢,比如大於等於、小於等於、大於、小於、IN、LIKE查詢
DELETE
用於刪除數據,可按查詢條件進行批量刪除。查詢條件支持GET中的特殊條件查詢,比如大於等於、小於等於、大於、小於、IN、LIKE查詢