基于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查询