AI

ChatGPT로 API 명세서 자동화하기 (Swagger보다 빠르게)

curiousKidd 2025. 7. 30. 17:35
반응형

"개발자의 시간을 아끼는 진짜 문서 자동화 방법, ChatGPT로 시작해보자"


문제 상황: API 명세서 작성, 늘 뒤로 미뤄지는 이유

API 문서 작성은 대부분 개발자에게 ‘하면 좋은 일’이 아니라 ‘귀찮은 일’이다.
Swagger도 있고 Spring REST Docs도 있지만, 막상 손을 대려면 생각보다 준비할 게 많다.

  • Swagger는 편하긴 하지만 문서화의 유연성이 떨어지고,
  • REST Docs는 예쁘지만 세팅부터 문서화까지 손이 많이 간다.

결국 팀에서 "나중에 쓰자"며 README에 메서드 설명 몇 줄 달고 끝나는 경우가 많다.
나도 그랬다. 그런데 그게 쌓이면 나중에 진짜 큰 문제가 생긴다.
클라이언트랑 사소한 필드 하나 때문에 실랑이 벌이고, 예외 응답 안 맞아서 디버깅하는 데 반나절 쓰기도 했다.

그래서 최근에 나는 Swagger도 REST Docs도 없이, ChatGPT를 활용한 API 명세서 자동화를 실험해봤다.
결론부터 말하자면, 적절히만 활용하면 Swagger보다 빠르고, 문서화의 자유도는 훨씬 높았다.


내가 시도한 방법: 코드를 복붙해서 GPT에게 명세서 요청하기

처음엔 간단하게 시도했다. 아래처럼 컨트롤러 코드를 복사해서 GPT에게 이렇게 말했다.

"아래 Spring Boot Controller 코드를 기반으로 API 명세서를 작성해줘.

  • 요청/응답 예시 포함
  • 필드 설명 포함
  • markdown 형식으로 반환"

놀랍게도 결과물은 꽤 쓸만했다. 예시로 써보자.


코드 예시 및 GPT 생성 결과

✍️ 입력한 코드

@RestController
@RequestMapping("/api/users")
public class UserController {

    @PostMapping("/register")
    public ResponseEntity<UserResponse> register(@RequestBody UserRequest request) {
        User user = userService.create(request);
        return ResponseEntity.ok(UserResponse.of(user));
    }
}

🤖 GPT가 생성한 문서 (요약)

## POST /api/users/register

### 설명
사용자 회원가입 API. 입력된 정보를 바탕으로 새로운 사용자를 등록합니다.

### 요청 예시
```json
{
  "name": "홍길동",
  "email": "gildong@example.com",
  "password": "1234"
}
```

### 응답 예시
```json
{
  "id": 1,
  "name": "홍길동",
  "email": "gildong@example.com"
}
```

### 요청 필드 설명
| 필드 | 타입 | 설명 |
|------|------|------|
| name | String | 사용자 이름 |
| email | String | 이메일 주소 |
| password | String | 비밀번호 |

실무에서 이렇게 적용했다

✅ 케이스 1: QA 팀과 커뮤니케이션 문서로 활용

  • 평소에는 포스트맨 스크린샷으로만 설명했는데, GPT로 문서화된 markdown을 Notion에 붙여 넣으니 훨씬 깔끔하고 명확해졌다.

✅ 케이스 2: 기획자 요청사항 정리

  • 기획자가 "이 API가 뭘 반환하죠?"라고 물을 때마다 말로 설명하던 걸 이제는 그냥 명세서 링크만 던져준다.

✅ 케이스 3: Swagger를 안 쓰는 프로젝트에서 문서 대체재로 활용

  • 레거시 프로젝트에서는 Swagger 세팅 자체가 귀찮아서 아예 GPT 기반 명세서를 표준으로 쓰고 있다.

정리 및 느낀 점

ChatGPT로 API 명세서를 작성하는 건 단순히 귀찮음을 줄이는 게 아니다.
문서화에 드는 시간을 절반 이하로 줄이면서도, 품질은 오히려 더 좋아질 수 있다.

  • 개발자끼리의 커뮤니케이션
  • 클라이언트와의 협업
  • 사내 문서 공유까지

모두 빠르게 처리할 수 있다.

Swagger를 쓰든 안 쓰든, 지금 당장 ChatGPT로 문서 자동화를 시도해보면 좋다.

다음엔 이걸 발전시켜서 “ChatGPT로 API 테스트 코드도 자동 생성하는 법”도 소개해보려고 한다. 😊

 

 

반응형