-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
用于实现其他语言的 Server 端的 APIJSON 的规范文档能整一个吗 #25
Comments
规范就这么多啊,原理就是将前端传的请求 JSON 转换为 SQL 语句,连接执行后返回 JSON 结果。 |
NodeJS建议用koa2做中间件,相当于Java的SpringBoot,然后再将JSON转换为SQL语句 |
@TommyLemon 我自己写个一个类似的python的,用的SQLAlchemy通过json生成sql,现在有点烦自己设计规范。要不我把 APIJSON 规范抄了吧。 |
@zeromake 可以啊 |
@TommyLemon 看了一下实现规范说明有点杂乱。我现在的规范是抄的 leancloud。 |
设计规范 不是实现规范,而是对于达到某种效果的描述哦,具体怎么实现可不管,所以才能不局限于某种语言,目前因为我个人能力和精力问题,所以只实现了Java版的Server。 LeanCloud我很早就看过了,它增强了URL,但很复杂、不直观,用起来挺麻烦的,客户端的Model居然强制继承它的AVObject,不能继承别的或不继承,请求强制用它的AVQuery等类,非常不友好。 APIJSON协议的核心就是 引用赋值 ,它是实现对象之间关系描述的功能,对于MySQL,Oracle,MSSQL Server等关系型数据库非常适用,也是最难实现的部分。其它功能都是SQL语法用key:value表示的简单对应描述,实现也比较简单。 APIJSON的实现原理请参考 如果你开发出来,我可以帮你推广下^_^ |
@TommyLemon 我不是说实现方式我是指,http的请求数据,如json的body对象转换为某种抽象的操作。 比如查询一个有条件过滤的表
以上的各种过滤表达式的说明。 |
@zeromake 都支持啊, {
"User[]": {
"count": 10, // LIMIT 0, 10
"User": { // FROM User
"@column": "id,name", // SELECT id,name
"name": "APIJSONUser", // WHERE name = 'APIJSONUser'
"name$": "A%", // WHERE name LIKE 'A%'
"id!": 38710, // WHERE id != '38710'
"id{}": [ // WHERE id IN ('1490109742863', '1490109845208', '1490420651686', '1493748615711')
1490109742863,
1490109845208,
1490420651686,
1493748615711
],
"id!{}": [ // WHERE id NOT IN ('1490584952968', '1492936169722')
1490584952968,
1492936169722
]
}
}
} 返回: {
"User[]": [
{
"id": 1490109742863,
"name": "APIJSONUser"
},
{
"id": 1490109845208,
"name": "APIJSONUser"
},
{
"id": 1490420651686,
"name": "APIJSONUser"
},
{
"id": 1493748615711,
"name": "APIJSONUser"
}
],
"code": 200,
"msg": "success"
} 具体看通用文档中的 功能符 Java版的实现参考 AbstractSQLConfig 批量删改需要传 id{}:[] , tag一般是 Comemnt[] 这种带数组符号的 , 请参考文中的批量操作 后端开挂:3行代码写出8个接口! |
@TommyLemon 我考虑下,研究套json api对应抽象数据库操作的说明,再考虑实现,我现在的用的是 |
@TommyLemon 我说的 JSON API 是指各种数据库操作(APIJSON, leancloud)自动化转 json api 的各种规范的比较与说明。 |
@zeromake 好吧,上图就是了 |
就是想进来说下,很腻害! |
@mlick 哈哈,感谢支持 |
这个 通用文档的 设计规范 部分还是有点简洁了,对于其他语言的 Server 端开发,估计还是需要参考现有的 Java 实现。
The text was updated successfully, but these errors were encountered: