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

基于querybuilder的可根据现有数据表自动生成Restful API的dotnet中间件的更多相关文章

  1. Go语言根据数据表自动生成model以及controller代码

    手写model的用法请参考: https://www.jianshu.com/p/f5784b8c00d0 这里仅说明自动生成model文件的过程 bee generate appcode -tabl ...

  2. MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口

    MyBatis Generator(MBG)的使用 MBG可以根据数据表生成对应的model.xml映射文件.mapper接口,只是简单的生成,还需要根据需求修改. 1.下载jar包 https:// ...

  3. 数据表自动生成java代码

    MyBatis生成代码需要用到mybatis-generator-core-1.3.2.jar.数据库连接驱动包和一个xml文件,xml文件一般命令为:generator.xml. Xml内容格式如下 ...

  4. 根据数据表自动生成javaBean

    package fanshe; import java.io.File; import java.io.FileWriter; import java.io.IOException; import j ...

  5. mybits根据表自动生成 java类和mapper 文件

    mybits根据表自动生成 java类和mapper 文件 我这个脑子啊,每次创建新的工程都会忘记是怎么集成mybits怎么生成mapper文件的,so today , I can't write t ...

  6. Idea根据表自动生成实体

    Idea根据表自动生成实体: 首先说下这种方式有个缺点,就是如果表里面有日期.时间类型,那么需要手动的设置映射类型 第一步:在Idea中配置好数据库: 在Idea窗口右边,点击Database按钮 配 ...

  7. mybatis 逆向工程(通过数据库表针对单表自动生成mybatis执行所需要的代码)

    mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo…),可以让程序员 ...

  8. mysql数据表自动导为python sqlalchemy可操作对象

      1.pip install sqlacodegen pip install pymysql 在/usr/lib/python/site-packages/sqlacodegen/main.py中添 ...

  9. 基于Dapper的开源LINQ扩展,且支持分库分表自动生成实体二

    LnskyDB LnskyDB是基于Dapper的Lambda扩展,支持按时间分库分表,也可以自定义分库分表方法.而且可以T4生成实体类免去手写实体类的烦恼. 文档地址: https://lining ...

随机推荐

  1. 你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?

    JavaScript 中 Arguments 对象的用途总结. 前言 相信我们很多人在代码开发的过程中都使用到过一个特殊的对象 -- Arguments 对象. 在实际开发中,Arguments 对象 ...

  2. SpringBoot笔记(2)

    一.容器功能 1.1 组件添加 1. @Configuration Full模式:获取对象时,首先在容器内搜索是否存在,如存在直接拿出 默认为Full模式,单例 配置类组件之间有依赖关系,方法会被调用 ...

  3. centos7 权限更改,所属用户及用户组更改

    2021-08-03 # 查看文件的权限 ll 第一个字符, "-" 表示是文件, "d" 表示是目录(directory) 后面 9 个字符每 3 个字符又作 ...

  4. constexpr-C++11

    constexpr和常量表达式 常量表达式(const expression)是指值不会改变并且在编译过程就能得到计算结果的表达式.显然,字面值属于常量表达式,用常量表达式初始化的const对象也是常 ...

  5. 分布式系列-分布式ID

    一.数据库自增(单实例) 1.方案描述 基于数据库自增ID(auto_increment)利用其来充当分布式ID.实现方式就是用一张表来充当ID生成器,当我们需要ID时,向表中插入一条记录返回主键ID ...

  6. 【Python机器学习实战】决策树与集成学习(五)——集成学习(3)GBDT应用实例

    前面对GBDT的算法原理进行了描述,通过前文了解到GBDT是以回归树为基分类器的集成学习模型,既可以做分类,也可以做回归,由于GBDT设计很多CART决策树相关内容,就暂不对其算法流程进行实现,本节就 ...

  7. Python - 如何将 list 列表作为数据结构使用

    列表作为栈使用 栈的特点 先进后出,后进先出 如何模拟栈? 先在堆栈尾部添加元素,使用 append() 然后从堆栈顶部取出一个元素,使用 pop() # 模拟栈 stack = [1, 2, 3, ...

  8. 初学AOP小结

    Spring AOP理解 参考链接 AOP简介 AOP(面向切面编程),可以说时OOP的补充,使用OOP时,我们在日常编写代码的时候,一旦牵涉到大型一点的项目,项目不可或缺的事务处理,安全处理,验证处 ...

  9. JVM-深入

    目录 Java类的加载机制 什么是类的加载 类的生命周期 加载 连接 类加载器 类的加载 双亲委派模型 自定义类加载器 JVM内存结构 Java堆(Heap) 方法区(Method Area) 程序计 ...

  10. AS插件快速生成javabean

    https://blog.csdn.net/u010227042/article/details/103803198