ApiJson简单使用

2024-06-04 11:28
文章标签 简单 使用 apijson

本文主要是介绍ApiJson简单使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

        最近在正式迭代中插入了一个大屏演示项目,因为后端开发人员任务都安排满了,而演示项目逻辑比较简单,大多是直接查表就能搞定,所以只能想办法让前端直接和数据库交互,增加开发速度。在找工具时发现了ApiJson。尝试使用了一下,在这里和大家做一个分享。

ApiJson介绍:

        可以简单理解它是一个可以直接通过api接口调用的ORM层框架。使用基本就是将ApiJson项目部署起来,然后直接通过API调用就能进行表的读写操作。

        官网地址:腾讯APIJSON官方网站

部署

        step1:

        进入项目的git地址,下载 APIJSONBoot。附地址:https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONBoot

        step2:

        修改项目下的 DemoSQLConfig 为自己的数据库配置:

        

        step3:

        启动项目(项目本身是一个springboot项目,启动方式,部署到环境的方式,都和普通的springboot项目一样)。

使用

        1. 查询

        查询的接口统一为:http://localhost:端口号/get

        通过不同的入参,来实现不同的查询(有点儿像es的玩法)

        例如:在postman中,

        uri输入:http://localhost:端口号/get

        mothed:POST

        请求体:

        {
                  "Moment": {
                        "id": 12
                  }
        }

        就可以查询到 数据库中 Moment表中,id=12的数据

        注意一个小坑,请求中的表名首字母必须是大写的,所以数据库如果大小写敏感,数据库表的首字母也需要大写。如果数据库表名是小写,则需要在 DemoSQLConfig中配置映射,将书库表名映射为首字母大写的名称才行

                1)简单查询

{"Moment": {  -- 表明,例如表名称为 Moment"id": 12   -- 字段名和值 ,例如,id为12}
}

                2)字段过滤

{"Moment": {"id": 12,"@column": "content"  -- 可以用,隔开多个列名}
}

                3)查询多个数据,in语句使用

{"[]": {                                --- [] 代表查集合"Moment": {                          --- 表名"id{}": [12, 15, 32],              --- id的集合。{}可以理解成 条件是一个对象"@column": "id,date,content"       --- 查某几个列}}
}

               4)where条件中的逻辑运算符

这段语句等价于

select id,date,content:text fromg Moment where (id between 10 and 40 ) and id not in (12)

{"[]": {"Moment": {"id&{}": ">=10,<=40","id!{}": [12],"@column": "id,date,content:text"}}
}

                5) 模糊搜索 

{"[]": {"Moment": {"content$": "%APIJSON%",            --- 模糊搜索"@column": "id,date,content:text"}}
}

                6)分页

{"[]": {"Moment": {"@column": "id,date,content,praiseUserIdList"},"page": 0,"count": 5        --- 注意,分页参数在 [] 下的一层,和表名同级}
}

                7) 组合查询

selet m.id, ,.data, m.userId, u.id, u.name from Monent m left join User u on m.userId = u,id

Monent 表的 userId 和 User表的 id关联,查询数据

{"[]": {"Moment": {"@column": "id,date,userId","id": 12},"User": {"id@": "/Moment/userId","@column": "id,name"}}
}

这种查询结果和我们平时sql不太一样,稍微看一下返回结果:

{"[]": [{          ------------------  这里开始 ---------------"Moment": {        -------- 一个数据内,把moment和user分开了"date": "2017-02-08 16:06:11.0","id": 12,"userId": 70793},"User": {           --------- 这是关联的user对象 ----------"id": 70793,"name": "Strong"}}         ------------------这里结束 是一个数据 ---------------],"code": 200,"msg": "success"
}

                8)分组及函数

这几个是apiJson支持的聚合函数

函数名说明
count统计分组下,某字段的个数
sum统计分组下,某字段的和
max统计分组下,某字段的最大值
min统计分组下,某字段的最小值
avg统计分组下,某字段的平均值

使用:

        直接用

{"[]": {"Moment": {"@column": "max(id):maxid"}}
}

        和分组一起用

{"[]": {"Sale":{"@column":"store_id;sum(amt):totAmt","@group":"store_id"}}
}

        2.新增

uri改一下:http://localhost:8080/post

{"Moment": {"content": "今天天气不错,到处都是提拉米苏雪","userId": 38710},"tag": "Moment"
}

        3.修改

Mothed:PUT

{"Moment": {"id": 1544520921923,"content": "海洋动物数量减少,如果非吃不可,不点杀也是在保护它们"},"tag": "Moment"
}

        4.删除

Mothed:Delete

{"Moment": {"id": 1544520921923},"tag": "Moment"
}

其他

        本文知识简单的记录以下apiJson的一些使用,方便大家快速启动。详细内容看官网,很详细,我的例子也都是官网摘的        腾讯APIJSON官方网站

这篇关于ApiJson简单使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029949

相关文章

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M