Skip to content
kings1990 edited this page Mar 6, 2020 · 5 revisions

online

非常重要:下载该项目进行本地部署,定制属于自己的工具

仓库地址:https://github.com/kings1990/rap2-generator-web

Online 地址:http://rap.sheng90.wang/

0.maven依赖

最新版本(search.maven.org搜索坐标rap2-generator)

<dependency>
    <groupId>io.github.kings1990</groupId>
    <artifactId>rap2-generator</artifactId>
    <version>版本号</version>
</dependency>

如果遇到不支持lombok,请安装idea lombok插件

1.配置介绍

目前配置分为三部分

  • 全局配置
  • 模块配置
  • 接口配置

全局配置:必须在resource目录下有一个globalConfig.json文件,包含了delosUrldoloresUrlsidsigresponseConfigPath属性. 因为sid、sig会过期,将这一分抽离出来可以更加方便执行程序即使过期也无碍,只需要改全局配置

模块配置:包含了repositoryIdpackageNamemod属性,将同一个包下面的配置设置成一个模块配置,如用户模块和订单模块两者包名不一致, 可以将两个模块分别设置一个公共的模块配置.这个配置是为了让接口配置更加专注于接口本身需要的一些属性,同时也使得模块和rap2仓库的概念 更加清晰.

接口配置:接口中所需要的一些必要属性

2.详细参数

全局配置

delosUrl必传
rap2后端数据API服务器地址,如:http://rap2api.taobao.org

doloresUrl必传
rap2前端静态资源,如:http://rap2.taobao.org

sid必传
rap2的cookie中的参数koa.sid

sig必传
rap2的cookie中的参数koa.sid.sig

模块配置

repositoryId非必传
接口仓库id,值为接口链接中的id,即如果链接连接是http://rap2.taobao.org/repository/editor?id=235211&itf=1349709, 则repositoryId=235211,加了此参数,执行程序会返回链接,不传的话执行程序不会返回接口地址

mod非必传
rap2仓库下模块的模块id,点击rap2横向模块取mod参数值,不传的话执行程序不会返回接口地址

packageName必传
解析的java类包路径,如com.kings.rap.demomodel,需要注意得把所有的实体类放在该目录下,因为要支持递归查找

接口配置

interfaceId必传
rap2编辑api接口地址参数中的itf参数,如链接地址是http:domain/organization/repository/editor?id=25&itf=285,则interfaceId=285

requestJavaClassname必传
请求参数对应的类名,如KingsQueryVo

responseJavaClassname必传
响应参数对应的类名,如KingsQueryVo

bodyOption必传
body参数格式,支持4种格式:

FORM_DATA
X_WWW_FORM_URLENCODED
RAW
BINARY

requestParamsType必传
请求参数类型:只有2种格式:

BODY_PARAMS:restful POST参数
QUERY_PARAMS:restful GET参数

responseResultType必传
响应中result对应的类型,目前包含5种类型:

Object:对象类型
Array:数组集合类型
Number:数字类型
Boolean:布尔类型
String:字符串类型

responseResultData必传
响应中result对应的值的具体类型,其包含2个子属性

responseResultDataType:返回响应值的具体类型,目前包含4种类型:

Object:对象类型
Number:数字类型
Boolean:布尔类型
String:字符串类型

description:非必传
返回响应值的具体类型描述,如果responseResultType是Object类型此参数也可以不设置

responseConfigPath非必传
自定义响应模板路径,第3节有详细配置

moduleConfigPath必传
模块配置文件路径

注意:responseResultTyperesponseResultData属性可参考json参数帮助向导.md

3.demo配置

全局配置globalConfig.json

{
  "delosUrl": "http://rap2api.taobao.org",
  "doloresUrl": "http://rap2.taobao.org",
  "sid": "Mt-pC-FunYdi4eXjfvhCVopIENTNChZ1",
  "sig": "We21o7E1Re5wyOQ7mTGUwoDFXJM",
  "responseConfigPath": "my-responseTemplate.json"
}

模块配置(orderCommon.json)

{
  "repositoryId":235482,
  "packageName": "io.github.kings1990.rap2.generator.test.order"
}

接口配置

{
  "interfaceId": 1352831,
  "requestJavaClassname": "Order",
  "responseJavaClassname": "",
  "bodyOption": "FORM_DATA",
  "requestParamsType": "BODY_PARAMS",
  "responseResultType": "Number",
  "responseResultData": {
    "responseResultDataType": "Number",
    "description": "[1-新建成功 0-新建失败]"
  },
  "moduleConfigPath": "/订单/订单模块/orderCommon.json"
}

样例模板 模板 建议:接口json结构最好以仓库/模块/接口名.json这么命名,跟rap2里面的结构保持一致,理由是有利于查找和定位

4.执行

a.使用json配置的形式执行(推荐)

@Test
public void testCustomResponseTemplate() throws Exception {
    ParseConfig parseConfig = ParseConfigJsonUtil.parseByJsonFile("自定义响应模板.json");
    Rap2Generator rap2Generator = new Rap2Generator();
    rap2Generator.setParseConfig(parseConfig);
    rap2Generator.generate();
}
Clone this wiki locally