Install
openclaw skills install java-api-extractor从 Java 项目中提取 Controller 层接口定义为 JSON 数据。
openclaw skills install java-api-extractor从 Java Spring Boot 项目中自动提取 Controller 层的接口定义,按照标准 JSON 模版格式输出,用于推送到产品部数据平台或前端数据接口平台。
[
{
"name": "创建用户",
"path": "/api/user",
"method": "POST",
"description": "创建新用户",
"requestParams": [
{
"name": "userName",
"type": "String",
"required": true,
"description": "用户名"
}
],
"responseSchema": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "创建的用户 ID"
}
}
}
}
]
src/main/java 下的 Controller 类自然语言(推荐):直接告诉我需求
脚本方式:
# 提取整个项目
py scripts/extract_java_api.py --project "D:\working\coding\msa-icmp-dev-manage" --output api-definitions.json
# 提取指定包
py scripts/extract_java_api.py --project "D:\working\coding\msa-icmp-dev-manage" --package "com.example.user.controller" --output user-api.json
# 提取并直接推送
py scripts/extract_java_api.py --project "D:\working\coding\msa-icmp-dev-manage" --prdid "PRD-2026-001" --push
# 详细模式
py scripts/extract_java_api.py --project "..." --output api.json --verbose
node scripts/extract_java_api.js --project "D:\working\coding\msa-icmp-dev-manage" --package "com.example.user.controller" --output user-api.json
node scripts/extract_java_api.js --project "D:\working\coding\msa-icmp-dev-manage" --prdid "PRD-2026-001" --push
**详细模式**:
```bash
python3 scripts/extract_java_api.py --project "..." --output api.json --verbose
| 注解 | 说明 |
|---|---|
@GetMapping | GET 请求映射 |
@PostMapping | POST 请求映射 |
@PutMapping | PUT 请求映射 |
@DeleteMapping | DELETE 请求映射 |
@PatchMapping | PATCH 请求映射 |
@RequestMapping | 通用请求映射 |
@RestController | REST 控制器标识 |
@Controller | 控制器标识 |
| 注解 | 说明 |
|---|---|
@PathVariable | 路径参数 |
@RequestParam | 查询参数 |
@RequestHeader | 请求头参数 |
@RequestBody | 请求体 |
@ModelAttribute | 模型属性 |
| 注解 | 说明 |
|---|---|
@ApiOperation | 接口描述(Swagger 2) |
@Operation | 接口描述(OpenAPI 3) |
@ApiParam | 参数描述(Swagger 2) |
@Parameter | 参数描述(OpenAPI 3) |
@Tag | 模块标签 |
@Api | 类级别描述 |
| Java 类型 | JSON 类型 |
|---|---|
| String | string |
| Integer, int, Long, long | integer |
| Boolean, boolean | boolean |
| Double, double, Float, float | number |
| Date, LocalDateTime | string (date-time) |
| List | array |
| Object | object |
首选 Python 版本:
extract_java_api.py):默认和首选,功能更完整,提取的接口更多(82 vs 47)extract_java_api.js):备用选项,适合没有 Python 环境的场景两个版本输出格式完全一致,可互换使用。
@RequestMapping 在类级别的定义