# cc-mock **Repository Path**: houlinhai/cc-mock ## Basic Information - **Project Name**: cc-mock - **Description**: 智能的mock工具。支持springboot项目环境下的自动生成模拟数据,方便在接口开发完成之前,前端联调使用 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-05-23 - **Last Updated**: 2025-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cc-mock #### 介绍 cc-mock是一款的智能mock工具。支持springboot项目下的自动生成接口响应数据。方便在接口开发完成之前,前端联调数据时使用。 #### 软件架构 项目环境: JDK1.8+ 软件架构说明 #### 安装教程 1. 引入依赖 ```xml com.borened.mock cc-mock-api-starter latest ``` 2. 配置mock启用,在配置文件中进行开启,开发完毕后需关闭mock。 ```yml ccmock: enabled: true ``` #### 使用说明 ##### MOCK类型支持 | java类型 | 支持类型 | mock配置说明 | | ---------------- | ------------------------------------------------------------ |-------------| | 基础类型及包装类 | byte,short,int,long,Byte,Short,Integer,Long,double, float, Double, Float,boolean,Boolean | 参考number配置 | | 字符 | String,char, Character | 参考stringr配置 | | 日期类型 | Date, LocalDate LocalTime, LocalDateTime | 参考date配置 | | 小数 | BigDecimal | 参考number配置 | | java对象 | 任意Java Bean 对象,支持嵌套泛型。 | | ##### Springboot开发 - 开发接口。注意:接口返回值应尽可能使用泛型来指定实际数据类型,或使用@MockResponse注解指定数据类型。如果是使用Object设置返回数据,则无法通过mock自动模拟响应内容。 ```java /** * 泛型参数响应(推荐用法) */ @GetMapping("/test2") public MyResult test2(){ //这里可以是自定义逻辑,可以从数据库或其他地方读取 Foo data = new Foo(); return new MyResult<>(data); } ``` - 启动项目,访问http://localhost:8080/test2, 可以得到mock结果。 ```json { "message": "yes", "status": "0000000", "data": { "account": 339.07, "age": 681, "attrs": [ { "age": 775, "gender": 379, "name": "架殃桅因蕊险稿刷裕隘" }, { "age": 343, "gender": 4, "name": "夏恍握滇势搓疲泣酉有" } ], "createTime": "1985-09-17 03:52:16", "gender": 429, "list": [ "丧冒橇抿诈亡穆樱挺签", "娄炉撒盖岂狱彝弧仆弹", "锯中应孽榜挂确含狭硷" ], "map": { "棠那苯鳃而廷膊潘古由": 994.50, "伐园覆低巧沾萤大性泡": 566.98, "泄链宙诗寅仙漏莽击腊": 235.57, "凳鸣疏痰绽棉钒银蛔扁": 481.40 }, "nickName": "址逃虾霄憨椽苑职貌犀", "password": "戳狈单兢杆汪创型慷豁", "username": "押相缸冷嫉恶捣卧块射" } } ``` - [springboot集成cc-mock的案例。](https://gitee.com/boren07/cc-mock/tree/master/cc-mock-samples/spring-boot-sample) ##### 自定义MOCK示例 ```java @Data public class User { private String username; private String password; private String nickName; private List roles; } /** * 使用自定义配置来MOCK User对象 */ public static void main(String[] args) { MockConfig mockConfig = new MockConfig(); MockConfig.String string = new MockConfig.String(); string.setLength(5); string.setStringType(StringType.NUMBER_CHAR_MIX); mockConfig.setString(string); System.out.println(CcMock.mock(mockConfig,User.class)); } //输出结果 /** * User(username=cxy7x, password=s7n3v, nickName=j3sgy, roles=[s0osm, 6x5mu, 1m6bw, 26wto, jo52h, ro8zy, n6e84, dx5dm, ueke7, 9jhgm]) */ ``` #### 优点 - 无侵入:cc-mock在现有springboot框架的基础上做mock增强,对现有代码和架构不会产生任何影响。 - 简单轻量:几乎只需要一个配置即可开启和关闭MOCK功能,有大量的自动mock策略。关闭mock后无任何性能损耗。 - 易扩展:支持自定义mock策略,自定义Mock响应结构。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 版本更新说明 1.0.0:第一个正式发布版本