开挂的零代码编程?

APIJSAON(一:入门篇)


背景

由于传统开发在开发过程中各种奇葩缩写,混乱的命名,文档过时与接口不同步,数据类型不稳定或者随意改变,几百甚至上千个混乱的状态码,前端与后端的各种扯皮撕逼,整个开发流程繁琐,开发周期长等等原因,由此APIJSON的出现也就应运而生了。

一、APIJSAON是什么?

首先是看名字APIJSON,API是说这个项目是属于接口开发的项目,JSON是指传输数据格式是JSON格式,换句话说,使用这个项目作为后端的支持的话,是不需要对每个表写增删改查等接口的,只需在该项目连接的数据里进行表的创建,以及配置接口权限即可。无需进行过多的开发,哪怕是要改结构也仅仅只需要修改表字段而已。想想仅仅是部署一个后端项目,现在需要些的接口就基本写好了,直接调用就行了。

二、安装步骤

1.环境配置

DK: 1.8+

MAVEN: 3.5+

Mysql:5.7

JetBrains IntelliJ IDEA 2019.2

2.下载项目

使用git clone下载:

git clone https://github.com/APIJSON/APIJSON-Demo.git

或者到[APIJSON项目地址(https://github.com/APIJSON/APIJSON-Demo)直接下载]
在这里插入图片描述

3.导入项目

Idea或者Eclipse 导入:

顶部菜单 File > Import > Maven > Existing Maven Projects > Next > Browse

选择项目所在目录/APIJSON-Demo-Master/APIJSON-Java-Server/APIJSONBoot

下载依赖,当报依赖错误的时候,将同目录下的 libs 里面的 jar 包添加到 Build Path 中


4.错误解决

有可能 pom.xml 会报错,例如:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

这段代码中的这一句提示错误:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

还有可能出现的错误:
在这里插入图片描述
添加依赖的version即可解决。
在这里插入图片描述

修改步骤:

  • 请修改 Eclipse 中的 Maven 镜像地址,以便更快下载或者更新,具体方法自行百度;
  • 打开Eclipse->Windows->Preferences->Maven->Installations->add 这个按钮用于指定
    maven 的安装目录,不建议使用 eclipse 自带的,需要自己设置。
  • 打开Eclipse->Windows->Preferences->Maven->User Settings 这是指定 setting.xml
    的位置,同时导向自己的本地 maven 仓库。

三、数据库

1,配置

需要在 DemoSQLConfig,40-61 行,改为自己数据库对应的链接
![在这里插入图片描述](https://img-blog.csdnimg.cn/3e29d24e5d204eac998055744bf8f5ec.png

在这里插入图片描述

2,导入

导入 APIJSON-Demo/MySQL 下的 SQL 脚本:
在这里插入图片描述

四、新增接口

1,后台添加数据

CREATE TABLE `b_stone` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `cost` int(10) NULL COMMENT '成本',
  `price` int(10) NULL COMMENT '卖价',
  `length` int(10) NULL,
  `width`  int(10) NULL,
  `height` int(10) NULL,
  `weight` float(8,1) NULL,
  `creationdate` datetime default CURRENT_TIMESTAMP COMMENT '创建时间',
  `modifydate` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `modifier` varchar(80) NULL,
  PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

2,在 Model 中添加对象并配置权限

项目的 model 目录下,新增一个类

package apijson.demo.server.model;

import zuo.biao.apijson.MethodAccess;

@MethodAccess
public class Stone {
}

注解@MethodAccess的配置,可以参考其他类

由于我们的类名和数据库表名不一致,需要注册一下。如果一样就不需要了。

设置数据库的实际表名DemoSQLConfig,38 行

//表名映射,隐藏真实表名,对安全要求很高的表可以这么做
	static {
		TABLE_KEY_MAP.put(User.class.getSimpleName(), "apijson_user");
		TABLE_KEY_MAP.put(Privacy.class.getSimpleName(), "apijson_privacy");
		TABLE_KEY_MAP.put(Stone.class.getSimpleName(), "b_stone"); // <--这一句
	}

注册权限是必须的,这样程序才能使用你配置的类权限去管理你的接口

DemoSQLConfig,48 行

static { //注册权限
		ACCESS_MAP.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class)));
....
		ACCESS_MAP.put(Stone.class.getSimpleName(), getAccessMap(Stone.class.getAnnotation(MethodAccess.class)));
	}

3,请求参数校验 Request 表配置

可这样设置 structure 字段来配置自动校验请求 JSON 参数:

"VERIFY":{
  "type{}":[0,1,2]
}

就能校验 type 的值是不是 0,1,2中的一个。
还有

"VERIFY": { "money&{}":">0,<=10000" }              //自动验证是否 money>0 & money<=10000
"TYPE": { "balance": "Double" }                    //自动验证balance类型是否为Double
"UNIQUE": "phone"                                  //强制phone的值为数据库中没有的
"NECESSARY": "id,name"                             //强制传id,name两个字段
"DISALLOW": "balance"                              //禁止传balance字段
"INSERT": { "@role": "OWNER" }                     //如果没传@role就自动添加
"UPDATE": { "id@": "User/id" }                     //强制放入键值对

全部操作符见 Operation.java (opens new window)的注释

4,启动项目

在这里插入图片描述

5,请求接口测试

在这里插入图片描述
至此,一个开挂的零代码编程项目就成功运行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值