基于querybuilder的可根据现有数据表自动生成Restful API的dotnet中间件
AutoApi
基于SqlKata Query Builder的可根据数据表自动生成Restful API的dotnet中间件
项目地址
支持的数据库
- MySql AutoApi.MySql
- SqlServer AutoApi.SqlServer
- PostgreSQL AutoApi.PostgreSQL
- Oracle AutoApi.Oracle
- Sqlite AutoApi.Sqlite
- Firebird AutoApi.Firebird
示例
用法
安装nuget包 AutoApi.Core
Install-Package AutoApi.Core -Version 1.0.3
or
dotnet add package AutoApi.Core --version 1.0.3
安装数据库对应类型的nuget包,比SQL Server安装 AutoApi.SqlServer
Install-Package AutoApi.SqlServer -Version 1.0.0
or
dotnet add package AutoApi.SqlServer --version 1.0.0
在文件Startup.cs中的ConfigureServices方法中添加如下代码:
services.AddAutoRestfulApi()
.UseSqlServer(connectionString);//Your sql server database connection string
在文件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中间件的更多相关文章
- Go语言根据数据表自动生成model以及controller代码
手写model的用法请参考: https://www.jianshu.com/p/f5784b8c00d0 这里仅说明自动生成model文件的过程 bee generate appcode -tabl ...
- MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口
MyBatis Generator(MBG)的使用 MBG可以根据数据表生成对应的model.xml映射文件.mapper接口,只是简单的生成,还需要根据需求修改. 1.下载jar包 https:// ...
- 数据表自动生成java代码
MyBatis生成代码需要用到mybatis-generator-core-1.3.2.jar.数据库连接驱动包和一个xml文件,xml文件一般命令为:generator.xml. Xml内容格式如下 ...
- 根据数据表自动生成javaBean
package fanshe; import java.io.File; import java.io.FileWriter; import java.io.IOException; import j ...
- mybits根据表自动生成 java类和mapper 文件
mybits根据表自动生成 java类和mapper 文件 我这个脑子啊,每次创建新的工程都会忘记是怎么集成mybits怎么生成mapper文件的,so today , I can't write t ...
- Idea根据表自动生成实体
Idea根据表自动生成实体: 首先说下这种方式有个缺点,就是如果表里面有日期.时间类型,那么需要手动的设置映射类型 第一步:在Idea中配置好数据库: 在Idea窗口右边,点击Database按钮 配 ...
- mybatis 逆向工程(通过数据库表针对单表自动生成mybatis执行所需要的代码)
mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo…),可以让程序员 ...
- mysql数据表自动导为python sqlalchemy可操作对象
1.pip install sqlacodegen pip install pymysql 在/usr/lib/python/site-packages/sqlacodegen/main.py中添 ...
- 基于Dapper的开源LINQ扩展,且支持分库分表自动生成实体二
LnskyDB LnskyDB是基于Dapper的Lambda扩展,支持按时间分库分表,也可以自定义分库分表方法.而且可以T4生成实体类免去手写实体类的烦恼. 文档地址: https://lining ...
随机推荐
- spring动态切换数据源(一)
介绍下spring数据源连接的源码类:| 1 spring动态切换连接池需要类AbstractRoutingDataSource的源码 2 /* 3 * Copyright 2002-2017 the ...
- java 查询当天0点0分0秒
由于业务需求,要计算客户今日收益,本周本月,本年等收益, 1.查询当天0点0分0秒 2.查询本月一号0点0分0秒 ...... Calendar calendar = Calendar.getInst ...
- Kickstart无人值守原理及简介
原文转自:https://www.cnblogs.com/itzgr/p/10029461.html作者:木二 目录 一 简介及原理 二 搭建无人值守步骤 三 PXE介绍 四 Kickstart简介 ...
- Session原理、生命周期及购物车功能的实现
在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据(保存该浏览器(会话)的相关信息)时 ...
- vue2+vite初体验
前言 自从 vite 发布之后,社区赞誉无数,而我也一直心水 vite 的轻量快速的热重载的特性,特别是公司的项目巨大,已经严重拖慢了热重载的速度了,每次热重载都要等上一小会,所以急需寻找一个解决方案 ...
- abp element 显示分页
App.vue添加组件 <template> <div id="app"> <dataTable></dataTable> < ...
- throws声明异常中断式处理异常
1.throws 编译期异常,一直往上抛最后是JVM处理(打印并中断程序) 2.声明多个或者直接声明父类
- springmvc配置过程中遇到的一些问题总结
springmvc配置过程中遇到的一些问题总结 1.配置tomcat过程中的错误: 2.配置web.xml中DispatchServlet报红(配置好已有依赖条件下) 解决的办法: 因为新添加依赖,m ...
- Xamarin UIProgressView自定义
Progress.ProgressImage = UIImage.FromFile ("progress.png"); Progress.TrackImage = UIImage. ...
- Maven专题1——坐标与依赖
1. 坐标 坐标用来唯一定位一个Maven构件: GAV(必需):groupId, artifactId, version packaging(可选): 可取值如:jar(缺省), war, pom, ...