Skip to content

YApi Mock

EasyYapi 支持将字段 Mock 规则同步到 YApi Mock 服务,方便前端开发使用。

使用

自定义 Mock 值

在 Javadoc 中使用 @mock 标签:

java
public class User {
    /**
     * 用户名
     * @mock admin
     */
    private String name;

    /**
     * 邮箱
     * @mock user@example.com
     */
    private String email;

    /**
     * 年龄
     * @mock 25
     */
    private Integer age;
}

内置 Mock 规则

EasyYapi 提供基于字段名和类型的内置 Mock 规则,导出到 YApi 时自动应用。

联系方式 & 身份

字段模式Mock 值说明
*.email@email随机邮箱
*.phone@phone随机手机号
*.mobile@phone随机手机号
*.uuid@uuid随机 UUID

ID 字段

字段模式Mock 值说明
*.id (integer)@integer随机整数
*.id (long)@integer随机整数
*.id (string)@id随机 ID 字符串

姓名 & 个人信息

字段模式Mock 值说明
*.name@string随机字符串
*.age (integer)@integer(0, 120)0-120 年龄

地址

字段模式Mock 值说明
*.address@county(true)完整地址
*.city@city随机城市
*.country@county随机县区
*.province@province随机省份
*.zip@zip随机邮编
*.ip@ip随机 IP 地址

URL & 媒体

字段模式Mock 值说明
*.url@url随机 URL
*.link@url随机 URL
*.image@image随机图片 URL
*.avatar@image随机图片 URL

数字 & 金额

字段模式Mock 值说明
*.price (double/float)@float(0, 10000, 2, 2)两位小数价格
*.amount (double/float)@float(0, 10000, 2, 2)两位小数金额
*.count (integer)@integer(0, 100)0-100 计数
*.page (integer)@integer(1, 100)1-100 页码
*.size (integer)@integer(1, 100)1-100 分页大小

安全

字段模式Mock 值说明
*.password******遮蔽密码
*.token@string(32)32位 token

日期 & 时间

字段模式Mock 值说明
*.date@date随机日期
*.datetime@datetime随机日期时间

额外 Mock 启发式规则

除了内置规则,EasyYapi 还会根据字段名智能推断:

名称包含Mock 值说明
tel, mobile@phone手机号
website@url网站链接
guid@uuidUUID/GUID
user, first, last (含 name)@cname中文姓名
state@province省份/州
postal@zip邮编
birth (含 date)@date('yyyy-MM-dd')出生日期
money@float(0, 10000, 2, 2)金额
num, number, qty, quantity@integer(0, 100)数字
pwd******遮蔽密码
key@string(32)API 密钥
img, photo@image图片 URL
desc, description, content, remark, comment@cparagraph中文段落
title@ctitle中文标题
code@string(6)6位验证码

类型推断 Mock

当没有匹配的名称规则时,EasyYapi 会根据类型生成 Mock:

类型Mock 值说明
String@string随机字符串
Short@integer(0, 32767)随机短整数
Integer@integer随机整数
Long@integer随机整数
Float@float随机浮点数
Double@float随机浮点数
Boolean@boolean随机布尔值
Array@array随机数组
Object@object随机对象
File@file文件占位符
Date@date随机日期
DateTime@datetime随机日期时间

自定义 Mock 规则

可以在配置文件中添加自定义 Mock 规则:

properties
# 格式: mock.rule=字段名|类型=mock值
mock.rule=*.orderId|string=@id
mock.rule=*.status|integer=@integer(0, 5)

格式说明:

  • 字段名 - 字段名模式(支持 * 通配符)
  • 类型 - JSON 类型(string, integer, long, double, float, boolean 等)
  • mock值 - Mock.js 表达式

基于 Apache-2.0 许可发布