LoginUser、userId、token 等网关/拦截器注入字段)interface> ⚠️ 注意: 列出| Java 类型 | TypeScript 类型 | 备注 |
|---|---|---|
| --- | --- | --- |
String / char / Character / UUID | string | |
int / Integer / short / Short / byte / Byte | number | |
long / Long | number | 超大数值(如雪花 ID)用 string |
float / Float / double / Double / BigDecimal | number | 高精度金额场景用 string |
boolean / Boolean | boolean | |
List / Set / Collection / T[] | T[] | |
Map / HashMap | Record | |
Date / LocalDateTime / LocalDate / Instant / ZonedDateTime | string | 注释标注日期格式 |
byte[] / MultipartFile | File | 文件上传场景 |
Object / JSONObject / JsonNode | Record | |
Optional | 映射为 T 并标记 ? | |
void / Void | — | 响应 result 为 null |
| 自定义 BO / VO / DTO | 生成对应 interface | 保留后端原始命名 |
| 枚举类 | 联合类型或 enum | 注释中列出所有枚举值 |
| 后端包装类型 | 展开方式 |
|---|---|
| --- | --- |
R / Result / Response | 使用项目通用 ApiResponse,不重复定义 |
PageResult / IPage / Page | 见分页模板 |
分页响应模板:
interface XxxPageResultBO {
/** 总记录数 */
total: number;
/** 数据列表 */
result: XxxItemBO[];
}
| 参数位置 | 处理方式 |
|---|---|
| --- | --- |
Header(LoginUser、userId、token 等) | 忽略,不出现在请求类型中 |
| Body | 生成 {接口名}RequestBody |
| Query | 生成 {接口名}RequestParams |
| Path | 在地址中以 {param} 标注,在请求类型中单独体现 |
| FormData / MultipartFile | 生成 {接口名}RequestBody,文件字段类型为 File |
响应处理:
ApiResponse(项目已有),不逐个生成result 实际类型单独定义为 interface| 类型 | 命名格式 | 示例 |
|---|---|---|
| --- | --- | --- |
| 请求体 | {接口名}RequestBody | ClaimCreditRequestBody |
| 查询参数 | {接口名}RequestParams | ListVideoRequestParams |
| 响应结果 | {接口名}ResultBO | ClaimCreditResultBO |
| 分页结果 | {接口名}PageResultBO | ListVideoPageResultBO |
| 嵌套对象 | 保留后端原始命名 | ClaimDetailBO |
/* ... /,内容来源于后端文档参数说明? 标记,必填字段不加/* 奖励类型: BASIC_RETURN / DOUBLE_RETURN //* 过期时间,格式: yyyy-MM-dd HH:mm:ss /输出为一个 .md 文件,包含所有接口的完整定义。多个接口之间用 --- 分隔。
文件命名规则: {飞书文档标题}-接口类型.md,文档标题从飞书文档中提取。
**接口名称**
- **接口地址:** `/xxx/xxx`
- **请求方式:** `POST`
- **接口描述:** 一句话概括接口功能
- **请求参数:**
(TypeScript 代码块:请求相关类型)
- **响应结果:**
(TypeScript 代码块:响应相关类型)
接口名称 加粗文本,不使用 # 标题interface 之间空一行.md 文件中,文件名由用户指定或根据模块名自动生成禁止包含:装饰性分隔注释、ApiResponse 定义。
项目中已有的通用类型:
interface ApiResponse<T> {
code: number;
message: string;
result: T;
}
> ⚠️ 注意: 列出疑问点| 场景 | 处理方式 |
|---|---|
| --- | --- |
嵌套泛型(如 List) | 展开为 Record |
继承关系(如 extends BaseDTO) | 将父类字段合并到当前 interface |
| 同名但不同模块的类型 | 加模块前缀区分 |
| 字段可选性不明确 | 默认必填,并在疑问点中标注 |
| 响应为纯数组(非分页) | result 类型为 XxxItemBO[] |
| 无请求参数 | 不生成请求类型 |
| 多种 Content-Type | 按实际类型生成,multipart/form-data 中文件字段用 File |
详见 examples.md
共 3 个版本