基于querybuilder的可根據(jù)現(xiàn)有數(shù)據(jù)表自動(dòng)生成Restful API的dotnet中間件

AutoApi

基于SqlKata Query Builder的可根據(jù)數(shù)據(jù)表自動(dòng)生成Restful API的dotnet中間件

項(xiàng)目地址

Github
Gitee

支持的數(shù)據(jù)庫

  1. MySql AutoApi.MySql
  2. SqlServer AutoApi.SqlServer
  3. PostgreSQL AutoApi.PostgreSQL
  4. Oracle AutoApi.Oracle
  5. Sqlite AutoApi.Sqlite
  6. Firebird AutoApi.Firebird

示例

AutoApi.Demo

用法

  1. 安裝nuget包 AutoApi.Core

    Install-Package AutoApi.Core -Version 1.0.3

    or

    dotnet add package AutoApi.Core --version 1.0.3

  2. 安裝數(shù)據(jù)庫對(duì)應(yīng)類型的nuget包,比SQL Server安裝 AutoApi.SqlServer

    Install-Package AutoApi.SqlServer -Version 1.0.0

    or

    dotnet add package AutoApi.SqlServer --version 1.0.0

  3. 在文件Startup.cs中的ConfigureServices方法中添加如下代碼:

    services.AddAutoRestfulApi() 
            .UseSqlServer(connectionString);//Your sql server database connection string
    
  1. 在文件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查詢

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容