AutoApi
基于SqlKata Query Builder的可根據(jù)數(shù)據(jù)表自動(dòng)生成Restful API的dotnet中間件
項(xiàng)目地址
支持的數(shù)據(jù)庫
- 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.3or
dotnet add package AutoApi.Core --version 1.0.3 -
安裝數(shù)據(jù)庫對(duì)應(yīng)類型的nuget包,比SQL Server安裝 AutoApi.SqlServer
Install-Package AutoApi.SqlServer -Version 1.0.0or
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內(nèi)置格式
生成api的訪問路徑統(tǒng)一為:/api/{TableName}
GET
暫不支持/api/{TableName}/{PrimaryKey}這種路由,后續(xù)版本考慮增加表名以及字段名稱自定義映射功能后會(huì)支持。當(dāng)前版本主要支持以下功能:
-
分頁查詢
接口路徑為:/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
用于新增數(shù)據(jù),訪問路徑后面跟的參數(shù)無效
PUT
用于更新數(shù)據(jù),可按查詢條件進(jìn)行批量更新。查詢條件支持GET中的特殊條件查詢,比如大于等于、小于等于、大于、小于、IN、LIKE查詢
DELETE
用于刪除數(shù)據(jù),可按查詢條件進(jìn)行批量刪除。查詢條件支持GET中的特殊條件查詢,比如大于等于、小于等于、大于、小于、IN、LIKE查詢