关于java:开挂的零代码编程

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/AP…)下载

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 行,改为本人数据库对应的链接

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,申请接口测试


至此,一个开挂的零代码编程我的项目就胜利运行了。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理