上一篇:3600万中国人在抖音“上清华”

APIJSON是啥?

APIJSON是一种为API而生的JSON网络传输协议。
为 简单的增删改查、复杂的查询、简单的事务操作 提供了完全自动化的API。

能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。

适合中小型前后端分离的项目,尤其是互联网创业项目。

通过自动化API,前端可以定制任何数据、任何结构!

大部分HTTP请求后端再也不用写接口了,更不用写文档了!

前端再也不用和后端沟通接口或文档问题了!再也不会被文档各种错误坑了!

后端再也不用为了兼容旧接口写新版接口和文档了!再也不会被前端随时随地没完没了地烦了!

特点功能

在线解析

  • 自动生成文档,清晰可读永远最新

  • 自动生成请求代码,支持Android和iOS

  • 自动生成所有JavaBean,一键下载

  • 自动管理测试用例,一键共享

  • 自动校验与格式化JSON,支持高亮和收展

对于前端

  • 不用再向后端催接口、求文档

  • 数据和结构完全定制,要啥有啥

  • 看请求知结果,所求即所得

  • 可一次获取任何数据、任何结构

  • 能去除重复数据,节省流量提高速度

对于后端

  • 提供通用接口,大部分API不用再写

  • 自动生成文档,不用再编写和维护

  • 自动校验权限、自动管理版本

  • 查询API无需划分版本,始终保持兼容

  • 支持增删改查、模糊搜索、正则匹配、远程函数等

举个栗子(微信朋友圈的动态列表):

请求:

{"[]": {                               //请求一个array"page": 0,                        //array条件"count": 2,        "User": {                         //请求查询名为User的table,返回名为User的JSONObject"sex": 0                      //object条件},"Moment": {"userId@": “/User/id”         //缺省依赖路径,从同级object的路径开始},"Comment[]": {                    //请求一个名为Comment的array "page": 0,"count": 2,"Comment": {"momentId@": “[]/Moment/id”  //完整依赖路径}}}
}

返回:

{"[]":[{"User":{"id":38710,"sex":0,"phone":"1300038710","name":"Name-38710","head":"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000"},"Moment":{"id":470,"title":"Title-470","content":"This is a Content...-470","userId":38710,"pictureList":["http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000"]},"Comment[]":[{"Comment":{"id":4,"parentId":0,"momentId":470,"userId":310,"targetUserId":14604,"content":"This is a Content...-4","targetUserName":"targetUserName-14604","userName":"userName-93781"}},{"Comment":{"id":22,"parentId":221,"momentId":470,"userId":332,"targetUserId":5904,"content":"This is a Content...-22","targetUserName":"targetUserName-5904","userName":"userName-11679"}}]},{"User":{"id":70793,"sex":0,"phone":"1300070793","name":"Name-70793","head":"http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000"},"Moment":{"id":170,"title":"Title-73","content":"This is a Content...-73","userId":70793,"pictureList":["http://my.oschina.net/img/portrait.gif?t=1451961935000"]},"Comment[]":[{"Comment":{"id":44,"parentId":0,"momentId":170,"userId":7073,"targetUserId":6378,"content":"This is a Content...-44","targetUserName":"targetUserName-6378","userName":"userName-88645"}},{"Comment":{"id":54,"parentId":0,"momentId":170,"userId":3,"targetUserId":62122,"content":"This is a Content...-54","targetUserName":"targetUserName-62122","userName":"userName-82381"}}]}]
}

APIJSON怎么保证服务端返回给不同版本客户端的数据一致?

比如我上一个版本一个接口返回的值是a,现在这个版本要对所有版本客户端返回a+b,用传统方法只需要服务端把这个接口的返回值改下就好了,接口和客户端都不用改。

用APIJSON不就会导致对有些版本返回的是a,有些是a+b,这样就不能统一了?

APIJSON对请求的解析和响应的操作都是在服务端完成的,对应的是APIJSON(Server)里的project。

服务端可以拦截到相关请求,比如请求a的值,把原本返回的a改成a+b就能保证对所有版本客户端返回a+b。也不需要客户端改代码,至于接口就更不用管了,因为根本没有接口。

源码及文档

Github:https://github.com/TommyLemon/APIJSON

开源中国:http://git.oschina.net/TommyLemon/APIJSON

关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。

猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享

强大,腾讯开源前后端接口开发工具!相关推荐

  1. 寻仙新马源码一键端_强大,腾讯开源前后端接口开发工具!

    APIJSON是啥? APIJSON是一种为API而生的JSON网络传输协议. 为 简单的增删改查.复杂的查询.简单的事务操作 提供了完全自动化的API. 能大幅降低开发和沟通成本,简化开发流程,缩短 ...

  2. Jeecg-Boot 快速开发平台,前后端分离—开发工具安装

    目录索引: 后端开发工具 前端开发工具 Nodejs镜像 WebStorm入门配置 JeecgBoot采用前后端分离的架构,官方推荐开发工具前端开发: Webstrom 或者 IDEA后端开发: Ec ...

  3. 基于SpringBoot+Vue开发的前后端分离博客项目-Java后端接口开发

    文章目录 1. 前言 2. 新建Springboot项目 3. 整合mybatis plus 第一步:导依赖 第二步:写配置文件 第三步:mapper扫描+分页插件 第四步:代码生成配置 第五步:执行 ...

  4. 014-Axios Ajax:前后端分离概述,发送json类型的参数,前后端分离开发:在线接口文档,前端工程化、Element、nginx

    第一节 Ajax概述 1.概述 概念: Asynchronous JavaScript And XML,异步的JavaScript和XML. 作用: 数据交换:通过Ajax可以给服务器发送请求,并获取 ...

  5. “安居客“住房系统-基于Python-Django前后端分离开发(二)——基于RESTful架构的数据接口配置以及Redis高速缓存

    "安居客"住房系统-基于Python-Django前后端分离开发(二) 基于Django-Rest-Framework创建接口数据(二) 文章目录 "安居客"住 ...

  6. 前后端分离开发模式下后端质量的保证 —— 单元测试

    概述 在今天, 前后端分离已经是首选的一个开发模式.这对于后端团队来说其实是一个好消息,减轻任务并且更专注.在测试方面,就更加依赖于单元测试对于API以及后端业务逻辑的较验.当然单元测试并非在前后端分 ...

  7. SpringBoot+Vue博客系统---后端接口开发

    Java后端接口开发 从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展,适合微服务化体系等.所以一般以Springboot作为我们的框架基础,这是离不开的了. 然后数据层,我们常用 ...

  8. 【转】Vue.js入门教程(一)从静态页面到前后端分离开发

    第一章:基础知识 我能看懂吗? 只要你现在能用html+css+js制作一个静态页面,相信我,你100%可以读懂这篇文章. 本文尤其适合那些想要了解前后端分离开发技术,或者刚刚脱离传统MVC开发模式的 ...

  9. ultraedit 运行的是试用模式_单元测试 —— 前后端分离开发模式下后端质量的保证...

    概述 在今天, 前后端分离已经是首选的一个开发模式.这对于后端团队来说其实是一个好消息,减轻任务并且更专注.在测试方面,就更加依赖于单元测试对于API以及后端业务逻辑的较验.当然单元测试并非在前后端分 ...

  10. web前后端分离开发部署模式

    web前后端分离开发部署模式 在开始讨论这个话题之前我们先来认识一下传统的开发模式. 一.传统开发模式 相信很多做过Web开发童鞋应该都会经历这样一种开发模式,利用后端语言提供的模版引擎编写HTML/ ...

最新文章

  1. Oracle系统的定义
  2. 0分配不到地址_前端学习计算机网络——IP地址的划分及其分类
  3. 等待十年,史上第一个 64 位版 Visual Studio 将于今夏公开首个预览版!
  4. Mean Shift算法(3)在OpenCV上的实现——图像分割PyrMeanShiftFiltering
  5. 关于配置tomcat多版本同eclipse的配置问题
  6. 版本控制、协同开发工具比较
  7. mysql 5.0卸载_卸载MySQL 5.0
  8. 电脑版微信每天自动发送
  9. 直连网线和交叉网线的线序
  10. 题目:离骚-原文和译文少了一行,你能写程序识别并找出来吗
  11. SAN 光纤交换机配置远距离级联(EF)操作
  12. cout保留两位小数位
  13. 跟我一起编辑直播源码,直播app代码怎么写
  14. android treble 三星,遗憾!Project Treble这么好,三星旗舰却不支持!
  15. 工程、科学、技术的相互关系
  16. 51物联卡:关于流量池,关于物联网卡小常识!
  17. 0xc0000225无法进系统_win7系统出现0xc0000225无法进入系统的解决方法
  18. 物理dataguard 正常切换 脚色转换
  19. Flex LCDS 与 spring 框架的整合说明
  20. ARM加速更迭,国产“芯”替代迎来新战机,123BOM编辑器(BOM123编辑器)是硬件工程师整理BOM的好帮手,嵌入式硬件工程师未来可期

热门文章

  1. vue中的v-if和v-show的区别
  2. 想要做音乐玩音乐,有这一个软件就够了!
  3. 1. 初识ZooKeeper。
  4. 智能城市即将爆发,WiFi行业再迎机遇
  5. 多层交换综合实验(二)
  6. 检查和安装过程中的常见的问题
  7. 如何在 Mac 上的程序坞中使用文件夹?
  8. 如何在 Mac 上的“屏幕使用时间”中设置限定通信?
  9. iOS开发之cocoapods报错问题You need at least git version 1.8.5 to use CocoaPods
  10. FxFactory 8 Pro for Mac(fcpx/ae/pr视觉特效插件包)