基于querybuilder的可根据现有数据表自动生成Restful API的dotnet中间件

摘要:
当前版本主要支持以下功能:分页查询接口路径为:/api/{TableName}?offset=&limit=两种方式排序升序接口路径为:/api/{TableName}?orderAsc={列名1,列名2,列名3,.....}降序接口路径为:/api/{TableName}?{列名}.ge={值}大于:/api/{TableName}?{列名}.like={值}POST用于新增数据,访问路径后面跟的参数无效PUT用于更新数据,可按查询条件进行批量更新。查询条件支持GET中的特殊条件查询,比如大于等于、小于等于、大于、小于、IN、LIKE查询
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中间件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇汇编语言进制转换C# 自定义exe引用的dll路径下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL用户权限验证与管理方法详解

本文实例讲述了MySQL用户权限验证与管理方法。分享给大家供大家参考,具体如下: 一、Mysql权限分两阶段验证 1. 服务器检查是否允许连接:用户名、密码,主机地址。 2. 检查每一个请求是否有权限实施。 二、Mysql权限列表 权限 权限级别 权限说明 create 数据库、表或索引 创建数据库、表或索引权限 drop 数据库或表 删除数据...

SQL Server统计信息简介

SQL Server统计信息是系统对象,其中包含有关索引键值中的数据分布的信息,有时还包含常规列值。 可以在支持比较操作的任何数据类型上创建统计信息,例如>,<,=等。 让我们从上一章清单2-15中创建的dbo.Books表中检查IDX_BOOKS_ISBN索引统计信息。 您可以使用DBCC SHOW_STATISTICS('dbo.Books...

Nuxt+Express后端api接口配置与实现方式

Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染 (SSR) 应用。本文带你了解在 Nuxt.js 中使用 Express 如何编写实现后端的 api 接口。 创建接口文件 在项目根目录中新建 server 文件夹并在该文件夹下创建一个 index.js 文件。 server └── index.js 然后,在 serve...

Spring配置JDBC连接Orcale、MySql、sqlserver

阅读指南:本文章主要讲述如何在Spring框架中配置JDBC连接方式连接Oracle、Mysql、SqlServer。 原理如下: 一、导包 连接oracle11g所需的jar包:ojdbc6.jar连接mysql5.1所需的jar包:mysql-connector-java-5.1.12-bin.jar连接sqlserver2008所需的jar包:sql...

澄清VB调用API时字符串参数的困惑

声明:本文部分内容来源于网络! 首先,我认为这样花费精力去研究VB调用API字符串的种种猫腻是很有必要的。本着严谨和发现问题与解决问题的原则,和为了能更好的认识问题的本质,我特写了这篇冗长的讨论。网上有很多关于此的讨论,但比较杂乱,目的不明确,也很难懂。在此也就是做个总结吧!让大家能有一个清楚认识。 我的问题是从调用内存API时参数的ByVal VarPt...

SQL Server索引

SQL Server索引解析 https://www.cnblogs.com/michaeldonghan/p/index001.html 全文章节: 1.聚集索引和非聚集索引 2.索引的结构 3.索引包含列和书签查找 1.聚集索引和非聚集索引 索引分为聚集索引和非聚集索引 1)聚集索引:表的数据是存储在数据页中(数据页的PageType标记为1),Sql...