Openclaw용 Java API Extractor

Spring Boot Java 프로젝트의 Controller 수준 API 정의를 표준 JSON 형식으로 자동 추출하여 문서화 및 프론트엔드 연동을 지원합니다.

snowzhouj
v1.0.0
Jun 17, 2026
0
441
0

설치 및 다운로드

1. ClawHub CLI

레지스트리에서 스킬을 바로 설치하는 가장 빠른 방법입니다.

npx clawhub@latest install java-api-extractor

2. 수동 설치

스킬 폴더를 다음 위치 중 하나로 복사하세요

글로벌
~/.openclaw/skills/
워크스페이스
<project>/skills/

우선순위: 워크스페이스 > 로컬 > 번들

3. 프롬프트 설치

이 프롬프트를 OpenClaw에 복사하면 자동으로 설치됩니다.

Clawhub를 사용해서 java-api-extractor 설치를 도와줘. Clawhub가 설치되어 있지 않다면 먼저 설치해 줘 (npm i -g clawhub).

다운로드를 원하시나요?

ZIP 아카이브 형태의 원본 스킬 파일을 받으세요.

Java API Extractor란 무엇인가요?

Java API Extractor는 Java Spring Boot 프로젝트를 파싱하여 Controller 수준의 인터페이스 정의를 구조화된 표준 JSON 스키마로 자동 추출하도록 설계된 고효율 개발 도구입니다. 이 스킬은 문서화 워크플로우를 간소화하여, 팀원들이 OpenAPI 정의를 수동으로 작성할 필요 없이 프론트엔드 연동, API 게이트웨이 또는 제품 데이터 플랫폼을 위한 백엔드 사양을 신속하게 준비할 수 있게 합니다.

Openclaw Skills 생태계의 일부로서, 이 도구는 메타데이터 매핑을 자동화하고, Spring MVC 어노테이션을 파싱하며, Swagger/OpenAPI 세부 정보를 추출합니다. 백엔드 정의와 API 문서가 완벽하게 동기화되도록 보장하여 수동 오류를 줄이고 소중한 엔지니어링 시간을 절약합니다.

Java API Extractor 활용 사례

  • API 엔드포인트 추출을 자동화하여 최신 프론트엔드 연동 스키마 생성.
  • 제품 수준 데이터 플랫폼 및 내부 문서 포털을 위한 통합 JSON 문서 작성.
  • Java Spring Boot Controller 클래스를 일괄 파싱하여 요청 매핑 경로, 쿼리 매개변수 및 보안 헤더 감사.
  • 다운스트림 환경이나 mock 서버로 푸시하기 전 엔드포인트 메타데이터를 동적으로 내보내기.

Java API Extractor 작동 원리

  1. 디렉토리 타겟팅: 스크립트를 Java 프로젝트의 루트 폴더로 지정하거나 특정 Controller 패키지를 지정합니다.
  2. 정적 코드 분석: 이 유틸리티는 src/main/java 디렉토리를 스캔하여 @RestController 및 @Controller 클래스를 찾습니다.
  3. 어노테이션 파싱: 요청 매핑(@GetMapping, @PostMapping 등), 메서드 매개변수 및 Swagger 어노테이션(@ApiOperation 등)을 추출합니다.
  4. 타입 변환: 필드와 페이로드가 Java 클래스에서 표준 JSON Schema 데이터 타입으로 매핑됩니다.
  5. JSON 내보내기 / 연동: 포괄적인 JSON 파일을 출력하거나 대상 제품 식별자를 사용하여 구조를 외부 포털로 직접 푸시합니다.

Java API Extractor 설정 가이드

먼저 필요한 런타임 환경(Python 권장, Node.js도 지원)이 있는지 확인하십시오.

# 전체 프로젝트를 JSON으로 추출 (Python 엔진 - 기본 및 권장)
python scripts/extract_java_api.py --project "/path/to/msa-icmp-dev-manage" --output api-definitions.json

# 특정 Java 패키지에서 정의 추출
python scripts/extract_java_api.py --project "/path/to/msa-icmp-dev-manage" --package "com.example.user.controller" --output user-api.json

# 정의를 추출하여 대상 제품 플랫폼으로 직접 푸시
python scripts/extract_java_api.py --project "/path/to/msa-icmp-dev-manage" --prdid "PRD-2026-001" --push

# 자세한 모드로 실행하여 광범위한 디버그 세부 정보 기록
python3 scripts/extract_java_api.py --project "/path/to/project" --output api.json --verbose

또는 환경에 Python이 없는 경우 Node.js 버전의 Openclaw Skills 파서를 실행할 수 있습니다:

# Node.js 대체 파서 호출
node scripts/extract_java_api.js --project "/path/to/msa-icmp-dev-manage" --package "com.example.user.controller" --output user-api.json

Java API Extractor 데이터 스키마 및 분류 체계

출력 스키마는 원시 JSON으로 구성되어 표준 API 엔드포인트 구조와 일치합니다. 아래는 예시 형식입니다:

[
  {
    "name": "Create User",
    "path": "/api/user",
    "method": "POST",
    "description": "Creates a new user",
    "requestParams": [
      {
        "name": "userName",
        "type": "String",
        "required": true,
        "description": "Target username"
      }
    ],
    "responseSchema": {
      "type": "object",
      "properties": {
        "userId": {
          "type": "string",
          "description": "The generated user ID"
        }
      }
    }
  }
]

어노테이션 지원 매트릭스

어노테이션 카테고리 지원되는 Spring & Swagger 어노테이션
요청 매핑 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping, @RequestMapping
매개변수 매핑 @PathVariable, @RequestParam, @RequestHeader, @RequestBody, @ModelAttribute
문서화 어노테이션 @ApiOperation, @Operation, @ApiParam, @Parameter, @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

Java API Extractor 고급 기능

  • 이중 실행 환경: Python 및 Node.js 실행 경로 모두에서 즉시 기본적으로 작동합니다.
  • 최적화된 파싱 엔진: 기본 Python 파서가 더 우수한 정확도를 제공하며, JS 대체 파서가 47개 엔드포인트를 추출하는 것과 비교해 최대 82개까지 추출합니다.
  • Swagger 및 OpenAPI 우선순위: Swagger 매핑이 사용 가능할 때마다 표준 변수보다 풍부한 설명적 어노테이션을 자동으로 우선시합니다.
  • 암시적 속성 추론: 속성 타입과 Controller 메서드 정의에서 누락된 매개변수 세부 정보를 직접 지능적으로 추론합니다.
  • 스마트 오류 및 코드 방어: 인라인 경고를 통해 손상된 코드 구문을 안전하게 우회하고, 순환 참조를 건너뛰며, UTF-8 또는 GBK와 같은 시스템 인코딩 표준을 자동 감지합니다.

SKILL.md


로드 중

관련 Openclaw 스킬

METADATA

Github Stars: 0
forks: 0

추천*