步骤:
1、编写接口文档
2、执行代码生成工具生成代码
接口文档请求报文:
![](https://box.kancloud.cn/8c29243e5f649545f40658de61a99fb9_1099x155.png)
返回报文:
![](https://box.kancloud.cn/d5de0f77e41b91e252850970c3e9e899_852x421.png)
约定和说明
1、接口字段的命名采用驼峰命名法,与表结构字段保持一致(表结构采用的是下划线命名方式)
2、约束说明
![](https://box.kancloud.cn/7e6cfd75ccc5ba8bbb9b90a18a254e36_370x108.png)
3、类型说明
![](https://box.kancloud.cn/58ed0ade23b4bfc1f8401e10561b0812_374x88.png)
4、长度说明
![](https://box.kancloud.cn/9d499d40ef55ab59531799c9bb146eb8_373x69.png)
5、请求参数分为请求头参数(reqHead),请求体参数(reqBody)
请求头参数(reqHead)是所有调用请求的公共入参部分,所有接口请求头参数都一致;
请求体参数(reqBody)是具体业务参数部分,不同接口参数不同
请求头参数如下:
![](https://box.kancloud.cn/799006e375929cf31c2bebdd9634afa7_649x169.png)
6、返回报文按照如下固定格式:
![](https://box.kancloud.cn/4b78828a74dbbc2075c5068b55d4aa83_654x168.png)
7、rspCode返回码的定义
![](https://box.kancloud.cn/84cd16a1b5f80cca41b2fca33e7cc813_573x153.png)
编写完成后进入RestfulGenerator类,修改相关信息后执行main方法
```
import java.io.IOException;
import org.walkframework.restful.generator.Config;
import org.walkframework.restful.generator.JavaFileBuilder;
/**
* 接口请求报文与返回报文生成器
*
*/
public class RestfulGenerator {
/**
* 直接执行本方法生成
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//生成模型代码
startGenCode();
}
/**
* 生成模型代码
*
* @throws Exception
*/
public static void startGenCode() throws Exception {
Config config = Config.DEFAULT;
// 1、设置是否覆盖原有文件,此项配置要注意!!!
config.setOverride(true);
// 2、设置请求报文包名
config.setReqPackageName("com.asiainfo.walk.msaleapi.mvc.model.order.req");
// 3、设置返回报文包名
config.setRspPackageName("com.asiainfo.walk.msaleapi.mvc.model.order.rsp");
// 4、设置属性翻译器包名
config.setTranslatorPackageName("com.asiainfo.walk.msaleapi.mvc.service.order.translator");
// 5、设置Excel文档目录。接口文档示例请到该目录下查看:src/main/webapp/static/demo/doc
config.setExcelFileDir("D:/Workspace/HLJ/msale/doc/接口文档/bak");
// 6、设置生成的.java文件存放目录位置
config.setCodeDirPath("D:/Workspace/HLJ/msale/gen");
// 7、执行...
JavaFileBuilder.newInstance().builder(config);
// 8、打开生成好的代码文件目录
openDir(config.getCodeDirPath());
}
// 打开输出目录
private static void openDir(String openDir) {
try {
String osName = System.getProperty("os.name");
if (osName != null) {
if (osName.contains("Mac")) {
Runtime.getRuntime().exec("open " + openDir);
} else if (osName.contains("Windows")) {
Runtime.getRuntime().exec("cmd /c start " + openDir);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
- walk简介
- 核心模块
- walk-data
- IData
- EntityHelper
- walk-cache
- 缓存管理器
- 缓存对象
- 缓存注解
- walk-batis
- 单表操作
- 批量操作
- 列表/分页查询
- 所有方法列表
- sql热部署
- 二级缓存
- 数据库方言
- 其他使用技巧
- 实体类生成工具
- walk-mq
- 队列管理器
- 队列对象
- 订阅/发布管理器
- 订阅器
- 发布器
- walk-shiro
- 用户认证/授权
- url动态授权/回收
- 分布式会话
- 无状态会话支持
- walk-base
- 前端基础框架
- 公共页面
- 自定义标签
- 自定义函数
- 组件及工具
- 后端基础框架
- 基础结构
- 表单校验
- 数据导入
- 数据导出
- 上传下载
- 静态参数加载器
- 静态参数翻译器
- 实体类翻译器
- sql翻译器
- 自定义翻译器
- 静态参数校验器
- 分布式任务
- 增删改查代码生成器
- walk-restful
- 请求报文
- 返回报文
- 节点翻译器
- api代码生成
- walk-activiti
- 接口封装
- 模型管理
- 流程图展示
- 集成方法
- walk-console
- 在线会话管理
- 静态参数表缓存管理
- 缓存管理
- 队列管理
- 发布/订阅管理
- walk-boot
- 常用功能
- 持久层操作
- 分布式缓存
- 分布式会话
- 分布式任务
- 前端常用功能
- 后端常用功能
- 工作流封装
- 多数据源支持
- 关于读写分离
- 常用工具类
- 代码生成工具
- SpringCloud集成
- 阿里edas平台支持
- 其他
- 开发规约
- 环境要求
- 工程示例
- 工程结构
- web工程
- API工程
- 后台任务
- 常见问题
- 事务不生效
- 分布式任务不生效
- 事务锁
- 变更历史