将后端 Java 接口文档转换为前端 TypeScript 类型定义(interface / type)。输入:飞书文档、Spring Boot 接口文档、Swagger/OpenAPI、手写 API 文档等。输出:包含请求参数与响应结果的 .md 文件,含完整 JSDoc 注释。触发关键词:Java 转 TS、接口转换、生成前端类型、接口文档转 TypeScript、DTO/VO/BO 转 interface、后端文档转前端类型、生成接口类型、类型定义生成。
后端 Java 接口 → 前端 TypeScript 接口生成是一项面向实际任务的技能,主要用于解析输入 :识别接口名称、地址、请求方式、请求参数(区分 Header/Body/Query/Path)、响应结构;过滤参数 :排除 Header 注入参数( LoginUser 、 userId 、 token 等网关/拦截器注入字段);
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
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{ code: number; message: string; result: T; }
> ⚠️ 注意: 列出疑问点| 场景 | 处理方式 |
|---|---|
嵌套泛型(如 List) |
展开为 Record |
继承关系(如 extends BaseDTO) |
将父类字段合并到当前 interface |
| 同名但不同模块的类型 | 加模块前缀区分 |
| 字段可选性不明确 | 默认必填,并在疑问点中标注 |
| 响应为纯数组(非分页) | result 类型为 XxxItemBO[] |
| 无请求参数 | 不生成请求类型 |
| 多种 Content-Type | 按实际类型生成,multipart/form-data 中文件字段用 File |
详见 examples.md
相关专题
热门下载
相关下载
精品课程
共0课时 | 0人学习
共0课时 | 0人学习
共0课时 | 0人学习