腾讯开源 APIJSON 连创五个第一

来源: 投稿
2020-11-09

  • 腾讯第一个码云推荐项目,// 其它最早创建的是 TencentOS-tiny(码云) 2019.8.23
  • 腾讯第一个码云GVP项目,// 其它最早创建的是 TencentOS-tiny(码云) 2019.8.23
  • 腾讯码云官方所有项目中Star第一,// 其它最高是 TencentOS-tiny(码云) 272 个Star
  • 腾讯所有后端开发项目中Star第一,// 其它最高是 libco(GitHub) 5.8K Star
  • 腾讯所有网络编程项目中Star第一。// 其它最高是 TencentOS-tiny(GitHub) 4.7K Star

APIJSON是一种专为API而生的 JSON网络传输协议 以及 基于这套协议实现的ORM库。 为 简单的增删改查、复杂的查询、简单的事务操作 提供了完全自动化的API。 能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。

通过自动化API,前端可以定制任何数据、任何结构。 大部分HTTP请求后端再也不用写接口了,更不用写文档了。 前端再也不用和后端沟通接口或文档问题了,再也不会被文档各种错误坑了。 后端再也不用为了兼容旧接口写新版接口和文档了,再也不会被前端随时随地没完没了地烦了。

APIJSON 适用场景

适合中小型前后端分离的项目,尤其是 BaaS、Serverless、互联网创业项目和企业自用项目。

APIJSON 功能特点

支持 增删改查、分页排序、分组聚合、统计组合、模糊搜索、正则匹配、连续范围、比较运算、逻辑运算、 存储过程、各种JOIN、各种子查询、字段过滤、多数据库、垮库跨表、性能分析、排列组合、结构变换、 远程函数调用、多级缓存规则、数据与结构校验、角色与操作权限校验 等。

对于前端

  • 不用再向后端催接口、求文档
  • 数据和结构完全定制,要啥有啥
  • 看请求知结果,所求即所得
  • 可一次获取任何数据、任何结构
  • 能去除重复数据,节省流量提高速度

对于后端

  • 提供通用接口,大部分API不用再写
  • 自动生成文档,不用再编写和维护
  • 自动校验权限、自动管理版本、自动防SQL注入
  • 开放API无需划分版本,始终保持兼容
  • 支持增删改查、模糊搜索、正则匹配、远程函数等

APIJSON接口展示

使用 APIAuto-机器学习HTTP接口工具来展示基于 APIJSON 协议的 HTTP API:

多表关联查询、结构自由组合、多个测试账号、一键共享测试用例

自动生成封装请求JSON的Android与iOS代码、一键自动生成JavaBean或解析Response的代码

自动保存请求记录、自动生成接口文档,可添加常用请求、快捷查看一键恢复

一键自动接口回归测试,不需要写任何代码(注解、注释等全都不要)

一图胜千言 - 部分基础功能概览

APIJSON App演示

使用 APIJSON + ZBLibrary 开发的 Android 客户端 Demo。以下 Gif 图看起来比较卡,实际在手机上 App 运行很流畅:

码云主页

https://gitee.com/TommyLemon/APIJSON

展开阅读全文
44 收藏
分享
加载中
精彩评论
作为一个写爬虫的,鼓励大公司都用这个提供前端接口,这样我毫不费力就可以拖库了
2020-11-09 20:45
7
举报
作者是腾讯员工,把项目转交给腾讯开源
2020-11-09 14:23
6
举报
没看明白这和腾讯有啥关系?
2020-11-09 11:51
4
举报
首先你得通过鉴权和其它安全策略。如果不用 HTTP,其它方式一般也好不到哪去,浏览器控制台抓下接口就知道 Request 和 Response 的信息了。如果用 HTTPS,都一样很难破解,你又怎么拖库?
2020-11-09 23:08
3
举报
而且你给的这个例子根本根本就不是 APIJSON 请求,别瞎黑了
2020-11-10 10:01
2
举报
最新评论 (39)
还没深入了解,先问一下,用APIJSON是不是要求前端熟悉数据库表结构?也就是接口文档变成了数据库表结构文档?
2020-11-16 10:37
0
回复
举报
不需要前端了解表结构,请求的方法、URL、参数由后端提供,建议用 APIAuto-机器学习HTTP接口工具 或其它接口工具上传,这样可以共享给前端以及零代码自动化测试。
APIJSON 格式的接口,接口文档 由协议的通用文档 + 数据字典(表结构) 组成,可以直接粘贴到 APIAuto 请求输入框,会自动显示相关的文档注释。
http://apijson.org:8000/auto/
2020-11-16 10:47
0
回复
举报
这个东西存在的意义是什么
2020-11-13 09:20
0
回复
举报
后端无需再编写大量 逻辑重复但又难以抽象 的 CRUD 代码, 前端无需再等待后端 开发接口、编写文档 才能 调用接口实现功能。
https://github.com/Tencent/APIJSON/wiki
2020-11-13 10:52
0
回复
举报
像是个kpi产物 后续感觉不会更新
2020-11-11 10:00
0
回复
举报
2016年11月到现在持续更新迭代 4 年,2000多个提交,几十个版本到 4.2.3 了,怎么就是 KPI 产物不会更新?
2020-11-11 10:33
0
回复
举报
章口就来?
2020-11-11 10:44
1
回复
举报
这个是不是前两年跟graphql怼的那个项目啊?
2020-11-10 17:59
0
回复
举报
研究下
2020-11-10 17:53
1
回复
举报
刚大略看了下,感觉很不错,能减少前后端不少工作量,给作者点赞!
2020-11-10 09:50
1
回复
举报
这波操作666
2020-11-10 09:29
0
回复
举报
哈哈
2020-11-10 10:01
0
回复
举报
作为一个写爬虫的,鼓励大公司都用这个提供前端接口,这样我毫不费力就可以拖库了
2020-11-09 20:45
7
回复
举报
首先你得通过鉴权和其它安全策略。如果不用 HTTP,其它方式一般也好不到哪去,浏览器控制台抓下接口就知道 Request 和 Response 的信息了。如果用 HTTPS,都一样很难破解,你又怎么拖库?
2020-11-09 23:08
3
回复
举报
不是你想爬就能爬,想拖就能拖的
https://github.com/Tencent/APIJSON/issues/12
2020-11-09 23:17
2
回复
举报
"如果不用 HTTP" -> "如果用 HTTP",本来想打 "如果不用 HTTPS",但为了防杠说 "用 TCP/UDP" 就删掉了 "s",忘了删 "不" 😂
2021-02-10 22:44
0
回复
举报
接口性能怎么样?
2020-11-09 15:05
0
回复
举报
接口性能是整个系统决定的,APIJSON 作为 ORM 库只是其中一环。APIJSON 做了字段限制(可选)、查询缓存、查询预判、自动化 JOIN 等各种优化,加上它直接用 JSON 对象传参(不需要像 Hibernate 等其它各种 ORM 库一样多次序列化和反序列化),实际上在大部分场景(不是很复杂的 OLTP 查询)下性能都优于其它各种库
https://github.com/Tencent/APIJSON/issues/16
2020-11-09 23:15
1
回复
举报
最近有两次性能相关更新,腾讯 CSIG 某项目组已经在生产环境 2.3KW 大表(由两张 1.15KW 表组成)测试查出
12W+ 条记录共 72.5M 数据) 整个网络请求耗时仅 5.624s,CURL 下载速度是 20M/s,所以耗时 3.625s,APIJSON 服务总共仅耗时 2s。
查 10000 条记录 633ms,查 1000 条记录 197ms,查 100 条记录 164ms。

【性能】大幅提升数组内主表查询性能
https://github.com/Tencent/APIJSON/releases/tag/4.6.0

【性能】大幅提升增删改的性能;增强对 SQL 数学表达式的支持
https://github.com/Tencent/APIJSON/releases/tag/4.4.5
2021-02-11 00:11
0
回复
举报
爬虫最爱
2020-11-09 14:57
0
回复
举报
首先得通过鉴权和其它安全策略。如果不用 HTTP,其它方式一般也好不到哪去,浏览器控制台抓下接口就知道 Request 和 Response 的信息了。如果用 HTTPS,都一样很难破解,你又怎么拖库?
2020-11-09 23:08
1
回复
举报
更多评论
42 评论
44 收藏
分享
返回顶部
顶部