基於querybuilder的可根據現有數據表自動生成Restful API的dotnet中間件


AutoApi

基於SqlKata Query Builder的可根據數據表自動生成Restful API的dotnet中間件

項目地址

Github
Gitee

支持的數據庫

  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. 安裝數據庫對應類型的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
    
  4. 在文件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查詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM