APIJSON自动化框架学习指南

1.springboot2.0+集成

基本项目需要的包:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version>
</dependency>
<dependency> <groupId>com.github.APIJSON</groupId><artifactId>apijson-framework</artifactId><version>LATEST</version>
</dependency>
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.61</version>
</dependency>
<!-- Allow access to Spring milestones and snapshots -->
<!-- (you don't need this if you are using anything after 0.5.0.RELEASE) -->
<repositories><repository><id>spring-snapshots</id><url>http://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><url>http://repo.spring.io/milestone</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>jitpack.io</id><url>https://jitpack.io</url></repository>
</repositories>
<pluginRepositories><pluginRepository><id>spring-snapshots</id><url>http://repo.spring.io/snapshot</url></pluginRepository><pluginRepository><id>spring-milestones</id><url>http://repo.spring.io/milestone</url></pluginRepository>
</pluginRepositories>

2.springboot项目启动配置

启动项中实现APIJSONApplication.init()方法

设置可跨域,方便调

3.APIJSONApplication类实现

需要自己实现6个类,数据库配置很简单易懂, 权限校验器需要自己先ACCESS_MAP中放入你要校验权限的Model对象和ModelAccess的权限信息

4.实现简单的CURD的步骤

4.1.执行官网建表SQL执行,加入我们自己的表

学生表(student)
id | name | teacher_id

老师表(teacher)
id | name

老师学生关联表
id | student_id | teacher_id

4.2.新建Model对象,设置MethodAccess权限

4.3.权限校验器ACCESS_MAP 设置对应数据(参照标题3)

4.4. 数据库表插入对应数据权限(改了权限要重启项目)

`INSERT INTO `api-json`.`access`(`id`, `debug`, `name`, `alias`, `get`, `head`, `gets`, `heads`, `post`, `put`, `delete`, `date`) VALUES (26, 0, 'Student', 'Student', '[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]', '[\"UNKNOWN\", \"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]', '[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]', '[\"LOGIN\", \"CONTACT\", \"CIRCLE\", \"OWNER\", \"ADMIN\"]', '[]', '[\"OWNER\", \"ADMIN\"]', '[\"ADMIN\"]', '2018-11-29 00:28:53');`

4.5.假设一个学生对应一个老师,查询学生和老师信息

返回: 一个对象嵌套对象,学生B关联不存在的TeacherId,所以不显示Teacher信息

4.6.左连接(left join)查询


结果

一条动态下有多条评论,通常JAVA中会使用如下方式较少数据传输,而APIJSON这个返回有点鸡肋

`Moment:{

​ id:470.

list:[{},{}]

}`

最终的个人感觉APIJSON适合简单项目的接口,而且由于数据格式冗余和层级不明显,会导致前端渲染时很麻烦,但是MVC框架做简单项目遵从Mapper->DAO->Service->Controller体力活也是很麻烦,小项目如果真的要求不高,我还是建议直接Mapper->Controller,后续有业务抽离再加Service层

个人建议:APIJSON要实现数据树形化才能被接受,否则我还是感觉鸡肋,

APIJSON自动化框架学习指南相关推荐

  1. python自动化工业_五大python自动化框架学习

    1.Robot Framework 作为最重要的Python测试框架之一,Robot Framework主要被用在测试驱动(test-driven)类型的开发与验收中.虽然是由Python开发而来,但 ...

  2. python自动化框架学习-pyautogui

    一.适用平台:PC(windows和mac均可用) 二.下载安装: 推荐使用命令行下载(因为会自动安装依赖库): pip install PyAutoGUI 该框架的依赖库还是蛮多的,第一次用的同学耐 ...

  3. python自动化框架学习路线

    1.选择一门编程语言 自动化脚本根据脚本分为两种:录制脚本和编程语言编程的脚本,学习自动化肯定是要用语言开发测试脚本,所以需要选择一门编程语言.流行的是JAVA和Python,这个要取决于你对那种语言 ...

  4. HttpRunner自动化框架学习笔记

    一.简单介绍 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 支持p ...

  5. 腾讯 AI Lab 正式开源PocketFlow自动化深度学习模型压缩与加速框架

    11月1日,腾讯AI Lab在南京举办的腾讯全球合作伙伴论坛上宣布正式开源"PocketFlow"项目, 该项目是一个自动化深度学习模型压缩与加速框架,整合多种模型压缩与加速算法并 ...

  6. Python入门学习指南--内附学习框架

    Python入门学习指南 原文链接:https://blog.csdn.net/weixin_44558127/article/details/86527360 最近开始整理python的资料,博主建 ...

  7. 转:Jenkins+Jmeter+ant接口自动化框架for Linux学习

    Jenkins+Jmeter+ant接口自动化框架for Linux学习 2018年06月08日 17:55:31 杀生丸的玲 阅读数:1031 版权声明: https://blog.csdn.net ...

  8. Robot Framework 自动化测试框架核心指南-初识Robot Framework(学习笔记2)

    初识Robot Framework 1.1如何创建一个自动化测试项目 1.1.2 创建测试套件 1.1.3 创建测试用例 1.2 Robot Framework基础关键字 1.2.1 如何搜索Robo ...

  9. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

最新文章

  1. failed to load external entity file:/C:/Users/fmm/.AndroidStudio3.4/config/options/updates.xml
  2. Spring Cloud Alibba教程:Sentinel的使用
  3. C#中委托的发展与匿名函数
  4. 【caffe】使用draw_net绘制net结构
  5. nhibernate处理多数据库
  6. Git / git clone 、git pull 和 git fetch
  7. 【OpenCV 例程200篇】58. 非线性滤波—中值滤波
  8. 王者荣耀专区系统服务器繁忙,王者荣耀跨系统转区开放!详细问答汇总,解决全部转区疑惑!...
  9. 微软为开源计算器加入全新的图形功能
  10. 智能音箱扎堆的技术红海,Rokid 如何杀出一条血路?
  11. 特斯拉又熬过破产危机后,马斯克说自动驾驶芯片已经准备好了
  12. Python基础-佛祖镇楼
  13. 西安工程大学计算机是几本专业,2016年西安工程大学计算机科学与技术(卓越班)专业在陕西录取分数线...
  14. CA系统的加解扰与接收控制
  15. ZT - 谷歌微软等三巨头掀电视革命:智能电视年底成真
  16. 曲线与曲面的微分几何
  17. css文字闪光特效,利用js css3实现文字闪光滑过动画特效
  18. 学驾照考交规去上海公安培训总部考试全过程
  19. 数控木工机械和精美家具制作
  20. 省市区三级行政区代码(包含港澳台)sql3

热门文章

  1. 将中国标准时间转换为年月日时分秒格式
  2. 平衡二叉树调整--LL-LR-RL-RR
  3. 基于javaweb的物业缴费管理系统(java+ssm+html+js+jsp+mysql)
  4. C#之特性(Attribute)
  5. 2018年 IEEE VIS 科学可视化与体渲染论文整理与分析
  6. 页面链接可以打开但是在扣扣浏览器标题显示404
  7. 百度东施效颦 技术和理念相去甚远
  8. 旺旺游戏‘阳光牧场’经验
  9. h5新增标签和表单元素
  10. FTP服务基础与如何设置匿名访问FTP服务