APIJSAON(一:入门)背景由于传统开发在开发过程中出现的各种奇怪的缩写和混淆的命名,过时的文档和不同步的接口,不稳定或随机的数据类型,数百甚至数千个令人困惑的状态代码,前后端的各种摩擦,整个开发流程繁琐,开发周期长等等,于是APIJSON的出现应运而生。1.什么是APIJSAON?首先看APIJSON这个名字。API表示本项目属于接口开发项目。JSON表示传输数据格式为JSON格式。删除、修改、查看等接口,只需要在项目连接的数据中创建一个表,并配置接口权限即可。不需要过多开发,即使要改结构,只需要修改表字段即可。想想刚刚部署了一个后端项目,现在需要的接口基本都写好了,直接调用就可以了。二、安装步骤1、环境配置DK:1.8+MAVEN:3.5+Mysql:5.7JetBrainsIntelliJIDEA2019.22。下载项目使用gitclone下载:gitclonehttps://github.com/APIJSON/APIJSON-Demo.git或者APIJSON项目地址(https://github.com/APIJSON/AP...)下载3.导入项目Idea或Eclipse导入:顶部菜单File>Import>Maven>ExistingMavenProjects>Next>浏览选择项目所在目录/APIJSON-Demo-Master/APIJSON-Java-Server/APIJSONBoot下载依赖,当一个依赖报错,将同目录libs中的jar包添加到BuildPath中4.错误解决可能导致pom.xml报错,例如:这段代码中的这一句是错误的:xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">也有可能报错:添加依赖的版本即可解决。修改步骤:请修改Eclipse中的Maven镜像地址,以便下载或更新更快。具体方法百度;打开Eclipse->Windows->Preferences->Maven->Installations->add这个按钮用来指定maven的安装目录,不建议使用eclipse自带的,需要自己设置。打开Eclipse->Windows->Preferences->Maven->UserSettings这个就是指定setting.xml的位置,同时引到自己本地的maven仓库。3、数据库1,配置需要在DemoSQLConfig,第40-61行,改成自己数据库对应的链接2,导入导入APIJSON-Demo/MySQL下的SQL脚本:4、添加接口1,在里面添加数据后台CREATETABLE`b_stone`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`cost`int(10)NULLCOMMENT'cost',`price`int(10)NULLCOMMENT'售价',`length`int(10)NULL,`width`int(10)NULL,`height`int(10)NULL,`weight`float(8,1)NULL,`creationdate`datetimedefaultCURRENT_TIMESTAMPCOMMENT'创建时间',`modifydate`时间戳DEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'修改时间',`modifier`varchar(80)NULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;2、在Model中添加一个对象并在权限项包的model目录下配置一个新的classapijson.demo.server.model;importzuo.biao.apijson.MethodAccess;@MethodAccesspublicclassStone{}注解@的配置MethodAccess,可以参考其他类,由于我们的类名和数据库表名不一致,所以需要注册。如果一样就没必要了。设置数据库实际表名DemoSQLConfig,line38//表名映射,隐藏真实表名,对安全性要求高的表可以这样做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");//<--thissentence}registrationpermissionisnecessary,sotheprogram才可以使用你配置的类权限来管理你的接口DemoSQLConfig,line48static{//注册权限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、请求参数校验请求表配置可以设置structure字段配置自动校验请求JSON参数:"VERIFY":{"type{}":[0,1,2]}可以校验type的值是否为10、1或2。and"VERIFY":{"money&{}":">0,<=10000"}//自动验证是否money>0&money<=10000"TYPE":{"balance":"Double"}//自动验证余额类型是否为Double"UNIQUE":"phone"//强制phone的值为"NECESSARY":"id,name"//强制传id和name两个字段"DISALLOW":"balance"//禁止传递余额字段"INSERT":{"@role":"OWNER"}//如果不传递@role,将自动添加"UPDATE":{"id@":"User/id"}//Mandatory键值对的所有操作符见Operation.java(opensnewwindow)注4,启动项目5,请求接口测试。至此,一个开放的零代码编程项目已经成功运行。