新增接口

后台添加数据表

在自己的数据库里新增一个表,比如我这里新增b_stone

  1. -- 原石
  2. CREATE TABLE `b_stone` (
  3. `id` bigint(20) NOT NULL AUTO_INCREMENT,
  4. `cost` int(10) NULL COMMENT '成本',
  5. `price` int(10) NULL COMMENT '卖价',
  6. `length` int(10) NULL,
  7. `width` int(10) NULL,
  8. `height` int(10) NULL,
  9. `weight` float(8,1) NULL,
  10. `creationdate` datetime default CURRENT_TIMESTAMP COMMENT '创建时间',
  11. `modifydate` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  12. `modifier` varchar(80) NULL,
  13. PRIMARY KEY (`id`)
  14. )ENGINE=InnoDB DEFAULT CHARSET=utf8;

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

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

  1. package apijson.demo.server.model;
  2. import zuo.biao.apijson.MethodAccess;
  3. @MethodAccess
  4. public class Stone {
  5. }

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

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

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

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

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

DemoSQLConfig,48 行

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

权限管理 Access 表的配置

在access数据表中添加一条数据,比如你的表名是:eye_director,而entity的类名是:EyeDirector

  1. INSERT INTO `apijson`.`access` (`id`, `debug`, `name`, `alias`, `get`, `head`, `gets`, `heads`, `post`, `put`, `delete`, `date`) VALUES ('19', '0', 'eye_director', 'EyeDirector', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["UNKNOWN", "LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["LOGIN", "CONTACT", "CIRCLE", "OWNER", "ADMIN"]', '["OWNER", "ADMIN"]', '["OWNER", "ADMIN"]', '["OWNER", "ADMIN"]', '2020-03-02 18:23:37');

接口管理 Request 表的配置

(此处需要作者补充)

:first_quarter_moon_with_face:此处的介绍都只是简要介绍,只是为了引导刚刚接触 APIJSON 的道友快速了解 APIJSON,并不代表 APIJSON 只有这些功能,具体功能详情参考下列图表