APIJSON 3.2.0 发布, 4K Star 与 Hibernate 拉开差距

2018-12-20 10:17:38 +08:00
 TommyLemon

https://www.timqian.com/star-history/#TommyLemon/APIJSON&hibernate/hibernate-orm

APIJSON 3.1.1-3.2.0 更新内容:

对于前端

对于后端


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


自动生成封装请求 JSON 的 Android 与 iOS 代码、一键下载自动生成的 JavaBean


自动保存请求记录、自动生成接口文档


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

APIJSON 生态内项目:

新鲜出炉的 Python 版  APIJSON 除了基本的查询(分页、排序等),还实现了自动化的权限控制。

给热心的作者们点 Star 支持下吧 ^_^

项目主页(源码、文档、视频、生态 等)

https://github.com/TommyLemon/APIJSON

10317 次点击
所在节点    程序员
76 条回复
TommyLemon
2018-12-20 10:21:54 +08:00
声明:
根据以往的发帖情况来看,由于时间和精力的限制,没法一一回复,但保证一定回复前 20 的评论(不包括自己的)。
在 V2EX 这样一个技术交流平台,欢迎大家开诚布公地探讨交流,请勿发泄情绪污染氛围。
如果我有哪些地方违反了 法律法规 或者 平台的规则,敬请指正,谢谢!
shell314
2018-12-20 10:28:15 +08:00
这个点赞
TommyLemon
2018-12-20 10:28:40 +08:00
@shell314 感谢
liuxu
2018-12-20 10:31:39 +08:00
"请勿发泄情绪污染氛围",现在大家发分享贴都会带着这句了

这个帖子应该发布到“分享创造”,https://www.v2ex.com/go/create
Neojoke
2018-12-20 10:36:55 +08:00
这个框架的意思是能够前端直接定义 API 对数据库的增删改查并且返回自定义的 json 数据结构,可以这样理解吗?
pryhub
2018-12-20 10:38:32 +08:00
不错,赞。请教一下楼主长度如何校验的? long 型,长度 15,可我输入的是字符串,长度不止 15,也没什么提示,返回值也是 200
sagaxu
2018-12-20 10:38:46 +08:00
文案比之前理性些了
airyland
2018-12-20 10:49:52 +08:00
支持开源,但是不支持以这样的标题发帖,也不赞同用 star 来作比较。如果要比较,建议比较一下贡献人数,单元测试完善度,文档完善度等等。
u2gign
2018-12-20 10:55:08 +08:00
厉害 必须点赞
fkdog
2018-12-20 11:01:15 +08:00
如果业务逻辑能让自己前端自行组织的话,那还要后端干嘛。
直接客户端连远程数据库完事了。

不要因为自己团队后端不给力,就自己想越界去搞后端的事。
复杂的后端业务不只是增删改查。
TommyLemon
2018-12-20 11:43:12 +08:00
@liuxu 感谢,虽然和 程序员 话题相关,但确实放到 分享创造 话题下更合适
TommyLemon
2018-12-20 11:44:33 +08:00
@TommyLemon 时间过了,管理功能只剩 “下沉 1 天”,没有改主题的入口了
TommyLemon
2018-12-20 11:45:52 +08:00
@Neojoke 对的,不过中间会经过 Server 的权限、数据、结构、语法 等校验,Server 还会通过 预编译、白名单 等方式自动防 SQL 注入,保证安全性。
TommyLemon
2018-12-20 11:57:30 +08:00
@pryhub 感谢反馈,初步断定这是一个 bug,fastjson 解析 json 时 getLongValue 得到一个负数值(超过 long 上限)导致查不到结果。查不到结果是对的,但其实应该直接返回一个错误码和错误信息,方便调试。
至于长度,数据库表字段配置的由数据库校验,如果是 Request 表里配置了对应的校验规则,则由 Server 代码校验。
TommyLemon
2018-12-20 11:59:01 +08:00
@TommyLemon 数据字典文档的长度等属性是从数据库查的
TommyLemon
2018-12-20 11:59:57 +08:00
@sagaxu 哈哈,我也在反思和总结
hash
2018-12-20 12:04:21 +08:00
不是很了解,但是和 GraphQL 相比有什么特点吗?
TommyLemon
2018-12-20 12:09:27 +08:00
@airyland 这个帖子主要是让大家看内容的,标题只是吸引阅读(当然是基于事实,没有虚假或夸大成分,和标题党不一样)。
提交代码次数 commits, 发版次数 releases, 贡献人数 contributors 都在第 2 张截图里了,都和 Hibernate 有大的差距。
单元测试完善度,文档完善度 没仔细对比过,粗略看也是比不上的,
但 APIJSON 现在也有比较完善的测试(自动化接口回归测试,提供机器学习版)和 文档(通用文档、部署文档、群里的详细入门文档等)。
目前只有 Star (一定程度上反映 Repo 在开源社区的被关注程度)这个指标确定是超过 Hibernate 的。
TommyLemon
2018-12-20 12:15:47 +08:00
@fkdog APIJSON 提供 远程函数 来给后端扩展业务逻辑。
大部分接口开发中,提取参数、增删改查、封装返回 JSON
这几个步骤要写 Controller,Service,Dao,Mapper 等一堆代码,
APIJSON 的自动化 API 可以替代这些,大幅降低后端的开发工作量,
还能让前端灵活定制自己需要的数据和结构,减少和后端的沟通成本,提高开发效率。

如果是客户端直连数据库,安全性怎么保证呢?
APIJSON 是提供了自动化的权限管理、自动防 SQL 注入的。

后端业务当然不只增删改查,APIJSON 又不是啥都干,主页文档已经说明了它的适用范围。
TommyLemon
2018-12-20 12:19:24 +08:00
APIJSON vs GraphQL,详细对比了 基础功能、权限控制、表关联查询 等
juejin.im/post/5ae80edd51882567277433cf

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/519237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX