Skip to content

WebSocket API 문서화를 위한 Springwolf 도입 #115

@ckdals4600

Description

@ckdals4600

이슈 배경

현재 사용 중인 springdoc-openapi(Swagger)는 REST API만 문서화 가능하며, @MessageMapping 기반의 WebSocket(STOMP) 엔드포인트를 인식하지 못함.
이에 따라, 프론트엔드 팀과 WebSocket 메시지 규격(Payload, Topic)을 명확히 공유하기 위해 AsyncAPI 표준을 지원하는 문서화 도구인 Springwolf를 도입하고자 함.

이슈 내용

1. 의존성 추가

  • build.gradlespringwolf-boot-starterspringwolf-ui 의존성을 추가함.

2. Springwolf 설정 구성

  • application.yml에 AsyncAPI 생성을 위한 기본 설정을 추가함.
  • 주요 설정:
    • docket: 베이스 패키지 스캔 경로 설정.
    • info: 문서 제목 및 버전 명시.
    • servers: WebSocket 프로토콜(ws) 및 엔드포인트 URL(/ws/chat) 정의.

3. 문서화 및 UI 테스트

  • 서버 구동 후 /springwolf/asyncapi-ui.html 경로로 접근하여 대시보드가 정상 출력되는지 확인함.
  • @MessageMapping이 선언된 컨트롤러와 요청/응답 DTO가 문서에 정상적으로 매핑되는지 검증함.

참고 자료

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions