xmysql:可为MySql生成REST API的神奇命令

CentOS安装MySQLx.x版本(5.7~9.x) CentOS部署MySQL(5.7~9.x)版本超详细教程 阅读详情

原文:xmysql: one command to generate REST APIs for any MySql database
作者:o1lab
翻译:Vincent

为什么用这个命令?

为MySql数据库快速生成REST API,而且还不遵循诸如rails、django等框架的约定,这可能是一种不太受欢迎的冒险行为。



但是也正因为如此。

该命令的功能都是由node packages提供支持的:(express, mysql) => { xmysql }

安装与用法

npm install -g xmysql

xmysql -h localhost -u mysqlUsername -p mysqlPassword -d databaseName

http://localhost:3000

这样就可以了。

特点

  • 只要是MySql数据库,就都可以生成API
  • 无论主键,外键,表等的命名约定如何,均可提供API
  • 增删改查:日常操作
  • 支持复合主键
  • 分页
  • 排序
  • 字段
  • 关系表
  • 可运行动态查询

可以使用像Postman 或者类似的HTTP客户端工具来调用REST API。

如果你的系统上面还没有这些的话,请先下载node,mysql(setup mysql),示例数据库。

根路径

直接访问根路径(localhost:3000/)会返回每张表中schema的所有REST API。

CRUD APIs 日常操作

  • GET /api/:tableName
  • POST /api/:tableName
  • GET /api/:tableName/:id
  • PUT /api/:tableName/:id
  • GET /api/:tableName/count
  • GET /api/:tableName/exists
  • GET /api/:parentTable/:id/:childTable
  • DELETE /api/:tableName/:id
  • POST /dynamic

其它的API

  • GET /api/:tableName/describe
  • GET /api/tables

支持复合主键

_(三个下划线)

/api/payments/103___JM555205

_:如果有多个主键 - 如图所示,用三个下划线分隔就可以了

分页

_p & _size

前者表示分多少页,后者表示响应行的大小。

默认情况下,每张表上面的GET请求会返回20条记录,最多100条。

/api/payments?_size=50

/api/payments?_p=2

/api/payments?_p=2&_size=50

排序

_sort
/api/payments?_sort=column1

上述命令表示按column1升序排列

/api/payments?_sort=-column1

上述命令表示按column1降序排列

/api/payments?_sort=column1,-column2

上述命令表示按column1升序排列,再按column2降序排列

字段

/api/payments?_fields=customerNumber,checkNumber

上述命令表示只得到每条记录的customerNumber和checkNumber这两个字段

/api/payments?_fields=-checkNumber

上述命令表示获取每行记录中除checkNumber以外的所有字段

运行动态查询

在数据库上面可以通过将方法POST到localhost:3000/dynamic该URL上面就可以运行动态查询了。

这仅支持-h localhost或-h 127.0.0.1选项中才能启用。

Post的body里面有两个字段:query和params。

query:SQL查询或SQL prepared查询(带??和?的)

params:SQL prepared查询的参数

POST /dynamic   

{
    "query": "select * from ?? limit 1,20",
    "params": ["customers"]
}

关系表

xmysql自动识别外键关系并提供GET api。

/api/customers/103/payments

例如:Customers是父表,payments是子表。API调用将会返回103号客户的所有付款记录。

什么时候应该使用

  • 只需要REST API,而不需要任何麻烦的MySql数据库。
  • 正在学习新的前端框架,而且MySql数据库需要使用REST API。
  • 正在做demo或者黑客等工作

什么时候不该不用

  • 如果需要的是一个完整的MVC框架,ACL,授权等等——而并不是这个。
  • 在”什么时候应该使用”章节里面没有提到的场景都不要用
postman 详细使用(5):使用 xmysql 连接 MySQL 数据库 postman 使用 xmysql 连接 MySQL 数据库   postman 本身并没有提供数据库连接功能,如果需要 postman 连接数据库,有一种实现思路,就是为提供 Restful 风格的 HTTP 接口,再由 postman 去访问这一系列的 Rest API 来实现对数据库的访问;   如果需要实现连接 MySQL 数据库的 REST API ,实现的方式有很多,比如 Ja... 阅读详情

相关推荐

SoapUI 5.0 模拟WebService接口实战:从WSDL文件到Mock服务端完整流程

本文详细介绍了如何使用SoapUI 5.0模拟WebService接口,从解析WSDL文件到搭建完整的Mock服务端流程。通过实战案例和效率技巧,帮助开发者快速掌握接口模拟技术,提升开发与测试效率。

weixin_26833139的博客 409

xmysql 使用参考手册

xmysql 使用手册,xmysql为MySQL数据库生成REST APIs。支持的操作包括:CRUD、List、FindOne、Count、Exists、Distinct、批量插入、批量删除、批量读取、关联查询、分页、排序、筛选、分组、聚合函数、图表统计、文件上传/下载、动态查询等等

小青龍 的博客 4万+

在不同版本Python中安装PyQT5及PyQT5-Tools

在不同版本Python中安装PyQT5及PyQT5-Tools

zoomgu680的博客 2万+

接口测试教程 - xmysql 介绍

接口测试,是一种灰盒测试。 在进行接口测试过程中,我们经常需要通过数据库对比检查来判断接口执行的结果是否正确。 但是 Postman 并没有提供数据库的查询。就无法通过 Postman 去连接数据库验证数据的正确性。 好在,有一款基于 node.js 的工具 Xmysql可以将数据库的表数据转换成 Restful API 接口,返回 JOSN 格式的数据结果。 重度声明:此款工具仅能用于测试环境,因为这款工具会造成严重的数据安全问题。 不过测试本来就在测试环境,所以测试使用在一定的安全性意识前提下,是没有太

liyi10234的博客 2729

AUTOSAR进阶图解==>AUTOSAR_SWS_CANNetworkManagement

本文介绍了AUTOSAR架构中的CAN网络管理(CanNm)模块,主要内容包括: 模块概述:CanNm是协调CAN网络节点状态转换的基础组件,采用去中心化设计,通过周期性发送网络管理PDU保持网络活跃状态,支持网络唤醒、睡眠和部分网络功能。 架构设计:CanNm位于AUTOSAR中间层,连接上层通信管理器(ComM)和底层CAN接口(CanIf),包含状态管理、PDU处理和定时器管理等子组件。 状态机设计:定义了三种主要模式(总线睡眠、准备睡眠和网络模式)及其转换逻辑,网络模式又包含重复消息、正常操作和准备

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 2041

xmysql:一键生成MySQL REST API的神器

xmysql:一键生成MySQL REST API的神器 项目介绍 xmysql 是一个基于 Node.js 和 Express 的高效工具,旨在简化MySQL数据库的交互流程。它能够自动为你的MySQL数据库创建RESTful APIs,无需复杂的后端编码。支持多种高级功能,包括但不限于复合主键处理、CRUD操作、分页、排序、过滤以及关系表查询,极大地提升了开发效率,使得前端或者客户端可以直接通...

gitblog_00080的博客 751

RTCA DO-160G标准详解:航空电子设备的全面环境适应性测试指南

第二章的主要目的是提供标准中使用的术语和定义。了解这些术语对于准确理解标准的要求至关重要,特别是在技术实施过程中。RTCA DO-160G 涉及多个学科的知识,包括航空、电子、电磁学和机械工程,因此需要确保使用的术语在所有学科中具有一致的定义。为了确保测试人员和工程师在执行测试时对所有条件和要求的理解一致,RTCA DO-160G 标准中定义了大量术语。环境应力:指的是设备在操作过程中可能遇到的外部物理或化学条件,包括温度、湿度、振动等。电磁干扰(EMI)

qq_41854911的博客 5280

将数据库 自动生成restful接口的工具 Xmysql

工具地址:https://github.com/o1lab/xmysql 一分钟配置,相当方便,需要在nodejs环境运行

popstarqq的博客 1919

机器学习实战7-基于机器学习算法预测相亲成功率

大家好,我是微学AI,今天给大家介绍一下机器学习实战7-基于机器学习算法预测相亲成功率,随着社会的发展,大家都忙于事业,对自己的终身大事就耽搁了,相亲是一种传统的寻找伴侣的方式,随着时代的发展,相亲的方式也在不断地改变。在这个过程中,了解相亲双方的信息以及预测相亲是否成功变得越来越重要。本文将介绍如何使用随机森林算法对相亲成功进行预测,通过分析男女双方的房子、车子、长相、家庭条件、父母情况、生活习惯、学历、性格、兴趣等因素,来预测相亲是否成功。

微学AI的博客 3038

2026年GESP3月认证C++五级真题解析

因为要合并成升序数组,所以当A[i]小于等于B[j]时,取A[i],否则取B[j]。当a[i]>a[j]时,左边数组中从i到m的所有元素都大于a[j],因此逆序对数量增加m-i+1。给定一个包含n个互不相同的正整数的数组A与一个包含m个互不相同的正整数的数组B,请你帮忙计算有多少个数在数组A与数组B中均出现。下面代码实现两个整数除法,其中被除数为一个“大整数”,用字符串表示,除数是一个小整数,用int表示,则横线处应该填写()。且a[i] > a[j],则a[i]和a[j]是一个逆序对。

lan_in的博客 120

使用 MySQL 和 Flask 构建 RESTful API 服务

使用 Flask 微框架开发 RESTful Web 服务并使用 MySQL 集成它们 使用 Flask 开发、部署和管理带有易于阅读和理解的 Python 代码的 REST API 学习使用 SQLAlchemy ORM 将 MySQL 用作 Flask API 的 Web 服务数据库 介绍了创建 REST API 的最佳实践,并指导您构建应用程序和测试 REST 端点 教您如何使用视图设置身份验证和呈现 HTML 将学习如何为 R和EST API 编写单元测试,并了解模拟、断言和集成测试 将了解如何记.

跨学科知识视角展现 642

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

XMYSQL使用

GitHub机票:https://github.com/o1lab/xmysql 为什么用这个命令? 为MySql数据库快速生成REST API,而且还不遵循诸如rails、django等框架的约定,这可能是一种不太受欢迎的冒险行为。 但是也正因为如此。 该命令的功能都是由node packages提供支持的:(express,mysql) => {xmysql} 安装与用法 npm install -g xmysql xmysql -h localhost -u m...

爱吃橙子蜂蜜酱的熊 1499

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【亲测免费】 探索Xmysql:一键生成MySQL数据库的REST API

探索Xmysql:一键生成MySQL数据库的REST API 项目介绍 Xmysql是一款强大的开源工具,它允许用户通过一个简单的命令为任何MySQL数据库生成RESTful API。这一创新工具极大地简化了开发流程,特别是对于那些不遵循传统框架(如Rails、Django、Laravel等)约定的数据库。Xmysql的最新版本已经演变为NocoDB,成为开源的Airtable替代品,提供了更加丰...

gitblog_00062的博客 667

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

MySQL与RESTfulAPI

1.背景介绍 MySQL与RESTful API是一个非常重要的技术主题,它们在现代互联网应用中扮演着关键角色。在这篇文章中,我们将深入探讨这两个技术的核心概念、算法原理、最佳实践以及实际应用场景。 1. 背景介绍 MySQL是一种流行的关系型数据库管理系统,它广泛应用于Web应用、企业应用等领域。RESTful API则是一种基于HTTP协议的应用程序接口设计风格,它使得不同的应用程序之间...

AI天才研究院 1316

Postman连接mysql数据库工具 xmysql

postman连接mysql数据库的工具xmysql

weixin_40608713的博客 2116

Postman之使用xmysql连接数据库

1.下载node.js并安装。 安装步骤:http://www.runoob.com/nodejs/nodejs-install-setup.html 2.安装xmysql 进入命令窗口,输入npm install -g xmysql 3.连接数据库 输入:xmysql -h localhost -u mysqlUsername -p mysqlPassword -d databaseN...

whcmyx的博客 931

pRESTige从 MySQL 数据库自动生成无代码 RESTful API

https://github.com/geekypedia/pRESTige 介绍 pRESTige 基本上是一个 RAD(快速应用程序开发)工具集,允许完全从您的 Web 浏览器中进行应用程序开发。它是一个开源的低代码平台。 它主要包含一个 API 引擎,将您的 MySQL 数据库投影为符合 OpenAPI 规范 (Swagger) 的完整工作的 RESTful API 集合。您可以通过提供连接字符串来插入现有数据库,您将立即获得功能齐全的 RESTful API,以及在 Swagger 中生成的文

allway2的博客 2963

探索Spring Boot MySQL REST API教程:构建高效Web服务

探索Spring Boot MySQL REST API教程:构建高效Web服务 本文将向您介绍一个由Callicoder开源的Spring Boot MySQL REST API教程项目,这是一个针对初学者和中级开发者的学习资源,旨在帮助他们快速上手并熟练掌握如何使用Spring Boot构建RESTful APIs,并与MySQL数据库进行集成。 项目概述 该项目是一个简单的任务管理应用,它演...

gitblog_00077的博客 1188

MySql 外部XA 事务

mysql 外部XA 事务

shunnianlv的博客 1683

Postman进阶功能-连接数据库

大家好,对于接口测试,其很重要的一个环节就是要连接数据库,那么对于 Postman 而言,如何进行连接数据库操作呢。但此处,需要用到一个插件:xmysql。通过 xmysql 连库后,xmysql 会将数据库中所有表以 REST 风格的接口形式生成,所以后续访问某张表其实就是访问的某个接口,那么对于 Postman 而言,其实也就是相当于访问了某个接口而已,接下来就一起看一下再 Postman 中如何连接数据库。

若不知道要驶向哪个码头,那么任何风都不会是顺风。 4002

Postman + Xmysql 零基础连接数据库【手把手教学,附完整代码示例!】

本文详细介绍了如何使用Postman通过Xmysql中间件连接和操作MySQL数据库的全流程。从环境准备(Node.js安装、Xmysql配置)到实战操作(增删改查、条件查询),每一步都配有完整的代码示例和效果截图。无论是API开发调试还是数据库测试维护,这套工具组合都能极大提升工作效率。适合所有层次的开发者和测试人员学习使用。

weixin_54787369的博客 1095

MySQL8 文档存储入门指南(三)

X 插件是 MySQL 服务器的扩展,可以动态加载。这非常重要,因为 X 插件启用了文档存储特性,允许存储和检索 JSON 文档。具体来说,X 插件允许服务器和客户机之间使用 X 协议进行通信,并与 X DevAPI 进行交互,以允许符合 ACID 的存储。此外,使用 X DevAPI,您可以使用类似 NoSQL 的语法对文档存储执行 CRUD 操作。正是 X 插件将所有的功能联系在一起,将 MySQL 服务器变成了一个文档库。在这一章中,我们学习了更多关于 X 插件及其工作原理。

龙哥盟 1935
上一篇: 拥抱大前端 盘点那些值得你了解的最佳开发实践
下一篇: 这五种特质让你顺利变身领导者
csdn研发技术
博客等级 码龄9年 1381粉丝 90原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值