-
-
Notifications
You must be signed in to change notification settings - Fork 8
非常重要:下载该项目进行本地部署,定制属于自己的工具
仓库地址:https://github.com/kings1990/rap2-generator-web
Online 地址:http://rap.sheng90.wang/
最新版本(search.maven.org搜索坐标rap2-generator)
<dependency>
<groupId>io.github.kings1990</groupId>
<artifactId>rap2-generator</artifactId>
<version>版本号</version>
</dependency>
如果遇到不支持lombok,请安装idea lombok插件
目前配置分为三部分
- 全局配置
- 模块配置
- 接口配置
全局配置
:必须在resource目录下有一个globalConfig.json文件,包含了delosUrl
、doloresUrl
、sid
、sig
、responseConfigPath
属性.
因为sid、sig会过期,将这一分抽离出来可以更加方便执行程序即使过期也无碍,只需要改全局配置
模块配置
:包含了repositoryId
、packageName
、mod
属性,将同一个包下面的配置设置成一个模块配置,如用户模块和订单模块两者包名不一致,
可以将两个模块分别设置一个公共的模块配置.这个配置是为了让接口配置更加专注于接口本身需要的一些属性,同时也使得模块和rap2仓库的概念
更加清晰.
接口配置
:接口中所需要的一些必要属性
全局配置
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
必传
模块配置文件路径
注意:responseResultType
、responseResultData属性可参考
json参数帮助向导.md
全局配置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里面的结构保持一致,理由是有利于查找和定位
a.使用json配置的形式执行(推荐)
@Test
public void testCustomResponseTemplate() throws Exception {
ParseConfig parseConfig = ParseConfigJsonUtil.parseByJsonFile("自定义响应模板.json");
Rap2Generator rap2Generator = new Rap2Generator();
rap2Generator.setParseConfig(parseConfig);
rap2Generator.generate();
}