← Back to Skills Marketplace
snowzhouj

Java Api Extractor

by SnowZhouJ · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ pending
34
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install java-api-extractor
Description
从 Java 项目中提取 Controller 层接口定义为 JSON 数据。
README (SKILL.md)

Java API Extractor

从 Java Spring Boot 项目中自动提取 Controller 层的接口定义,按照标准 JSON 模版格式输出,用于推送到产品部数据平台或前端数据接口平台。

触发场景

  • 需要从 Java 项目生成接口文档
  • 批量提取 Controller 接口定义
  • 接口文档自动化生成
  • 推送接口定义前的数据准备

核心功能

  • 扫描 Java 项目中的 Controller 类
  • 解析 Spring MVC 注解(@GetMapping, @PostMapping, @PutMapping, @DeleteMapping 等)
  • 提取接口路径、请求方法、参数定义、响应类型
  • 解析 Swagger/OpenAPI 注解(@ApiOperation, @ApiParam, @Tag 等)
  • 按照标准 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"
        }
      }
    }
  }
]

工作流程

  1. 指定 Java 项目根目录
  2. 扫描 src/main/java 下的 Controller 类
  3. 解析每个 Controller 的接口注解
  4. 提取参数信息和响应类型
  5. 生成标准 JSON 格式输出
  6. 可选:直接推送到产品部数据平台

使用方式

自然语言(推荐):直接告诉我需求

脚本方式

# 提取整个项目
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\x3CT> array
Object object

相关文档

技术说明

首选 Python 版本

  • Python 版本 (extract_java_api.py):默认和首选,功能更完整,提取的接口更多(82 vs 47)
  • Node.js 版本 (extract_java_api.js):备用选项,适合没有 Python 环境的场景

两个版本输出格式完全一致,可互换使用。

最佳实践

  • 提取前检查:确保项目已编译,依赖完整
  • Swagger 优先:有 Swagger 注解时优先使用其描述
  • 类级别路径:正确处理 @RequestMapping 在类级别的定义
  • 参数推断:无注解描述时从字段名和类型推断
  • 响应分析:从 Controller 方法返回类型推断响应结构

错误处理

  • 语法错误:跳过无法解析的类,记录警告
  • 类型缺失:使用 Object 类型占位
  • 循环依赖:检测并避免无限递归
  • 文件编码:自动检测 UTF-8/GBK
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install java-api-extractor
  3. After installation, invoke the skill by name or use /java-api-extractor
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of java-api-extractor. - 自动扫描 Java 项目 Controller 层,解析主流 Spring MVC、Swagger/OpenAPI 注解,提取接口定义。 - 支持批量生成标准 JSON 格式接口文档,包含路径、方法、参数、返回类型等完整信息。 - 同时提供 Python 和 Node.js 两种提取脚本,推荐 Python 版本。 - 支持命令行参数精细控制,如输出文件、指定包、推送数据平台以及详细模式等。 - 自动处理常见注解、类型映射、类路径组合、异常和循环依赖等情况。
Metadata
Slug java-api-extractor
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Java Api Extractor?

从 Java 项目中提取 Controller 层接口定义为 JSON 数据。 It is an AI Agent Skill for Claude Code / OpenClaw, with 34 downloads so far.

How do I install Java Api Extractor?

Run "/install java-api-extractor" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Java Api Extractor free?

Yes, Java Api Extractor is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Java Api Extractor support?

Java Api Extractor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Java Api Extractor?

It is built and maintained by SnowZhouJ (@snowzhouj); the current version is v1.0.0.

💬 Comments