Skip to content

Latest commit

 

History

History

README.md

apijson配置选项

  • -Dapijson.enabled=true,配置false停用apijson
  • -Dapijson.debug=false,配置true开启调试
  • -Dapijson.test=false,配置true开启框架测试
  • -Dapijson.verify=60,配置验证码有效期(秒),非调试时有效

apijson框架引用1

  • 创建数据库apijson,创建用户apijson/apijson,导入脚本apijson.sql
  • 下载apijson-framework-4.1.0.jarapijson-orm-4.1.0.jar
  • mvn install:install-file -DgroupId=apijson.orm -DartifactId=apijson-orm -Dversion=4.1.0 -Dpackaging=jar -Dfile=apijson-orm-4.1.0.jar
  • mvn install:install-file -DgroupId=apijson.framework -DartifactId=apijson-framework -Dversion=4.1.0 -Dpackaging=jar -Dfile=apijson-framework-4.1.0.jar
  • sh start.sh install,apjson-orm更改为com.github.tencent:APIJSON,版本升级到4.6.0

apijson框架引用2

  • git clone https://gitee.com/APIJSON/APIJSON.git
  • 导入脚本MySQL/sys.sql
  • vi APIJSON-Java-Server/APIJSONORM/pom.xml,groupId=apijson.orm,artifactId=apijson-orm
  • mvn install -f APIJSON-Java-Server/APIJSONORM/pom.xml
  • vi APIJSON-Java-Server/APIJSONFramework/pom.xml,groupId=apijson.framework,artifactId=apijson-framework
  • mvn install -f APIJSON-Java-Server/APIJSONFramework/pom.xml

apijson.sql与sys.sql的差异

  • APIJSONSQLConfig默认MySQL为5.7.22,light4j的MySQL版本为5.1.63
  • json类型替换为varchar(65535),apijson.JSON.getCorrectJson正确处理String="[1,2,3]"为JSONArray=[1,2,3]
  • sys.sql表名首字母为大写,apijson.sql表名统一为小写字母,/etc/my.cnf需配置lower_case_table_names=1
  • apijson_privacy字段pasword、payPassword添加注解@JSONField,避免fastjson解析报错,密码启用加密,修改字段长度
  • apijson.sql增加了beetlsql示例里的user表
  • apijson权限管理:优先开放指定ip权限:grant all on apijson.* to apijson@'127.0.0.1' identified by 'apijson';

apijson请求示例

  • http://localhost:8080/service/apijson/get
  • 单条数据:{"Moment":{"id":12}}
  • 部分字段:{"Moment":{"id":12,"@column":"content"}}
  • 字段别名:{"Moment":{"id":12,"@column":"id,date:time,content:text"}}
  • 多条数据:{"[]":{"Moment":{"id{}":[12,15,32],"@column":"id,date,content"}}}
  • 逻辑非:{"[]":{"Moment":{"id!{}":[12,15,32],"@column":"id"}}}
  • 逻辑与:{"[]":{"Moment":{"id&{}":">=300,<=400","@column":"id"}}}
  • 模糊查询:{"[]":{"Moment":{"content$":"%APIJSON%","@column":"id,date,content:text"}}}
  • 正则匹配:{"[]":{"Moment":{"content?":"^[0-9]+$","@column":"id,date,content:text"}}}
  • json数组(老版本MySQL不支持):{"[]":{"Moment":{"praiseUserIdList<>":82001,"@column":"id,date,content,praiseUserIdList"}}}
  • 分页:{"[]":{"Moment":{"@column":"id,date,content,praiseUserIdList"},"page":0,"count":5}}
  • 查询总数:{"[]":{"Moment":{},"query":1},"total@":"/[]/total"}
  • 查询某页:{"[]":{"Moment":{"@column":"id"},"query":2,page:1},"total@":"/[]/total"}
  • 排序:{"[]":{"Moment":{"@column":"id,date,content","@order":"date-,id,content+"}}}
  • 关联查询(Access表控制权限和实际表名):{"[]":{"Moment":{"@column":"id,date,userId","id":12},"User":{"id@":"/Moment/userId","@column":"id,name"}}}
  • 最大值:{"[]":{"Moment":{"@column":"max(id):maxid"}}}

apijson账户管理

Request请求校验

  • tag表名+method方法+version版本:唯一定位请求配置,版本默认为1
  • structure:请求参数校验,NECESSARY必填字段,DISALLOW禁止字段,