Skip to main content
Version: Latest(v3.0) πŸ”₯

API Document Validator

πŸ“‹ API ν˜•μ‹ 검증​

κ°œμš”β€‹

경둜: 쒌츑 μ‚¬μ΄λ“œλ°” > API ν˜•μ‹ 검증

메뉴 νƒ€μž…: κ·Έλ£Ή 메뉴 (ν•˜μœ„ 메뉴 포함)

API ν˜•μ‹ 검증은 API μŠ€νŽ™μ˜ ν˜•μ‹κ³Ό ꡬ쑰λ₯Ό κ²€μ¦ν•˜κ³ , 검증 ν˜„ν™©μ„ λͺ¨λ‹ˆν„°λ§ν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

μ ‘κ·Ό 방법​

  1. 쒌츑 μ‚¬μ΄λ“œλ°”μ—μ„œΒ "API ν˜•μ‹ 검증" 메뉴λ₯Ό ν΄λ¦­ν•˜μ—¬ ν•˜μœ„ 메뉴λ₯Ό ν™•μž₯ν•©λ‹ˆλ‹€
  2. ν™•μž₯된 ν•˜μœ„ λ©”λ‰΄μ—μ„œ μ›ν•˜λŠ” κΈ°λŠ₯을 μ„ νƒν•©λ‹ˆλ‹€

πŸ’‘Β μ°Έκ³ : API ν˜•μ‹ 검증은 κ·Έλ£Ή λ©”λ‰΄μ΄λ―€λ‘œ 클릭 μ‹œ ν•˜μœ„ 메뉴가 ν™•μž₯/μΆ•μ†Œλ©λ‹ˆλ‹€.

ν•˜μœ„ 메뉴 ꡬ성​

API ν˜•μ‹ 검증 메뉴λ₯Ό ν΄λ¦­ν•˜λ©΄ λ‹€μŒ ν•˜μœ„ 메뉴듀이 ν‘œμ‹œλ©λ‹ˆλ‹€:

  1. API ν˜•μ‹ μ„€μ •Β - API ν˜•μ‹ 검증 κ·œμΉ™ μ„€μ •
  2. API ν˜•μ‹ ν˜„ν™© λŒ€μ‹œλ³΄λ“œΒ - 검증 ν˜„ν™© 쑰회 및 λͺ¨λ‹ˆν„°λ§

API ν˜•μ‹ 섀정​

경둜: 쒌츑 μ‚¬μ΄λ“œλ°” > API ν˜•μ‹ 검증 > API ν˜•μ‹ μ„€μ •

κΈ°λŠ₯ μ„€λͺ…​

API ν˜•μ‹ μ„€μ • νŽ˜μ΄μ§€μ—μ„œλŠ” API Docs Validatorλ₯Ό μœ„ν•œ 검증 룰셋을 κ΄€λ¦¬ν•˜κ³  ν”„λ‘œμ νŠΈμ™€ λ§€ν•‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

νŽ˜μ΄μ§€ ꡬ성​

μ£Όμš” μ„Ήμ…˜

  1. API Docs Validator μ„€μ •
    • λ£°μ…‹ 관리
    • ν”„λ‘œμ νŠΈ λ§€ν•‘
  2. 검증 λ£°μ…‹ 관리
    • κΈ°μ‘΄ λ£°μ…‹ λͺ©λ‘ 및 관리
    • μƒˆ λ£°μ…‹ μΆ”κ°€Β λ²„νŠΌ
  3. ν”„λ‘œμ νŠΈ 선택
    • ν”„λ‘œμ νŠΈ λ“œλ‘­λ‹€μš΄μœΌλ‘œ νŠΉμ • ν”„λ‘œμ νŠΈ 선택 κ°€λŠ₯

μ£Όμš” κΈ°λŠ₯​

  • 검증 λ£°μ…‹ 관리: 검증에 μ‚¬μš©ν•  룰셋을 생성, μˆ˜μ •, μ‚­μ œ
  • μƒˆ λ£°μ…‹ μΆ”κ°€: μƒˆλ‘œμš΄ 검증 룰셋을 생성
  • ν”„λ‘œμ νŠΈ λ§€ν•‘: 검증 룰셋을 νŠΉμ • ν”„λ‘œμ νŠΈμ™€ μ—°κ²°
  • κΈ°λ³Έ λ£°μ…‹:
    • OWASP Top10: OWASP Top 10 λ³΄μ•ˆ 취약점 검증 λ£°μ…‹
    • OAS(2.X, 3.X): OpenAPI Specification 검증 λ£°μ…‹

μ‚¬μš© 방법​

  1. 쒌츑 μ‚¬μ΄λ“œλ°”μ—μ„œΒ "API ν˜•μ‹ 검증" 메뉴λ₯Ό ν΄λ¦­ν•˜μ—¬ ν•˜μœ„ 메뉴λ₯Ό ν™•μž₯ν•©λ‹ˆλ‹€
  2. ν•˜μœ„ λ©”λ‰΄μ—μ„œ **"API ν˜•μ‹ μ„€μ •"**을 μ„ νƒν•©λ‹ˆλ‹€
  3. ν”„λ‘œμ νŠΈΒ λ“œλ‘­λ‹€μš΄μ—μ„œ μž‘μ—…ν•  ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•©λ‹ˆλ‹€ (선택사항)
  4. 검증 λ£°μ…‹ κ΄€λ¦¬Β μ„Ήμ…˜μ—μ„œ κΈ°μ‘΄ 룰셋을 ν™•μΈν•˜κ±°λ‚˜ κ΄€λ¦¬ν•©λ‹ˆλ‹€
  5. μƒˆ λ£°μ…‹ μΆ”κ°€Β λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬ μƒˆλ‘œμš΄ 검증 룰셋을 μƒμ„±ν•©λ‹ˆλ‹€
  6. λ£°μ…‹ μ„€μ • μ™„λ£Œ ν›„ μ €μž₯ν•©λ‹ˆλ‹€

λ£°μ…‹ μœ ν˜•β€‹

  • OWASP Top10: μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ 취약점 μƒμœ„ 10개 ν•­λͺ© 검증
  • OAS(2.X, 3.X): OpenAPI Specification 2.x 및 3.x 버전 검증

μ£Όμ˜μ‚¬ν•­β€‹

  • ⚠️ λ£°μ…‹ 생성 및 μˆ˜μ • ν›„ λ°˜λ“œμ‹œ μ €μž₯ν•΄μ•Ό μ μš©λ©λ‹ˆλ‹€
  • ⚠️ ν”„λ‘œμ νŠΈ 맀핑은 νŠΉμ • ν”„λ‘œμ νŠΈμ—λ§Œ 검증 κ·œμΉ™μ„ μ μš©ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€

API ν˜•μ‹ ν˜„ν™© λŒ€μ‹œλ³΄λ“œβ€‹

경둜: 쒌츑 μ‚¬μ΄λ“œλ°” > API ν˜•μ‹ 검증 > API ν˜•μ‹ ν˜„ν™© λŒ€μ‹œλ³΄λ“œ

κΈ°λŠ₯ μ„€λͺ…​

API ν˜•μ‹ ν˜„ν™© λŒ€μ‹œλ³΄λ“œλŠ” API ν˜•μ‹ 검증 μ‹€ν–‰ 이λ ₯κ³Ό κ²°κ³Όλ₯Ό μ‘°νšŒν•˜κ³  λͺ¨λ‹ˆν„°λ§ν•  수 μžˆλŠ” λŒ€μ‹œλ³΄λ“œμž…λ‹ˆλ‹€.

νŽ˜μ΄μ§€ ꡬ성​

검증 이λ ₯ ν…Œμ΄λΈ”

검증 μ‹€ν–‰ 이λ ₯을 ν…Œμ΄λΈ” ν˜•νƒœλ‘œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

컬럼λͺ…μ„€λͺ…
μš”μ²­μžκ²€μ¦μ„ μš”μ²­ν•œ μ‚¬μš©μž
ν”„λ‘œμ νŠΈλͺ…검증 λŒ€μƒ ν”„λ‘œμ νŠΈ
APIλͺ…검증 λŒ€μƒ API
μƒνƒœκ²€μ¦ μƒνƒœ (톡과/μ‹€νŒ¨ λ“±)
Error Count발견된 였λ₯˜ 개수
Error 원인검증 μ‹€νŒ¨ 원인
검증 μΌμ‹œκ²€μ¦μ΄ μ‹€ν–‰λœ λ‚ μ§œ/μ‹œκ°„
μ•‘μ…˜μƒμ„Έ 쑰회, μž¬κ²€μ¦ λ“± μΆ”κ°€ μž‘μ—…

μ£Όμš” κΈ°λŠ₯​

  • 검증 이λ ₯ 쑰회: κ³Όκ±° 검증 μ‹€ν–‰ 이λ ₯ 확인
  • 검증 μƒνƒœ λͺ¨λ‹ˆν„°λ§: 검증 톡과/μ‹€νŒ¨ μƒνƒœ 확인
  • 였λ₯˜ 정보 확인: Error Count 및 Error 원인 확인
  • 필터링: ν”„λ‘œμ νŠΈ λ“œλ‘­λ‹€μš΄μ„ ν†΅ν•œ 필터링 (선택사항)

μ‚¬μš© 방법​

  1. 쒌츑 μ‚¬μ΄λ“œλ°”μ—μ„œΒ "API ν˜•μ‹ 검증" 메뉴λ₯Ό ν΄λ¦­ν•˜μ—¬ ν•˜μœ„ 메뉴λ₯Ό ν™•μž₯ν•©λ‹ˆλ‹€
  2. ν•˜μœ„ λ©”λ‰΄μ—μ„œ **"API ν˜•μ‹ ν˜„ν™© λŒ€μ‹œλ³΄λ“œ"**λ₯Ό μ„ νƒν•©λ‹ˆλ‹€
  3. 검증 이λ ₯Β ν…Œμ΄λΈ”μ—μ„œ 검증 μ‹€ν–‰ 이λ ₯을 ν™•μΈν•©λ‹ˆλ‹€
  4. ν”„λ‘œμ νŠΈΒ λ“œλ‘­λ‹€μš΄μ—μ„œ νŠΉμ • ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•˜μ—¬ ν•„ν„°λ§ν•©λ‹ˆλ‹€ (선택사항)
  5. ν…Œμ΄λΈ”μ˜Β μ•‘μ…˜Β μ»¬λŸΌμ—μ„œ 상세 정보 μ‘°νšŒλ‚˜ μΆ”κ°€ μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€

ν…Œμ΄λΈ” κΈ°λŠ₯​

  • νŽ˜μ΄μ§•: 검증 이λ ₯이 λ§Žμ„ 경우 νŽ˜μ΄μ§€ λ‹¨μœ„λ‘œ 쑰회
  • μ •λ ¬: 각 컬럼 헀더 클릭으둜 μ •λ ¬ κΈ°μ€€ λ³€κ²½ (κ°€λŠ₯ν•œ 경우)
  • 상세 쑰회: μ•‘μ…˜ 컬럼의 λ²„νŠΌμœΌλ‘œ 상세 정보 확인

ν™œμš© νŒβ€‹

  • πŸ’‘Β ν”„λ‘œμ νŠΈ ν•„ν„°: νŠΉμ • ν”„λ‘œμ νŠΈμ˜ 검증 이λ ₯만 ν™•μΈν•˜λ €λ©΄ ν”„λ‘œμ νŠΈ λ“œλ‘­λ‹€μš΄μ„ ν™œμš©ν•˜μ„Έμš”
  • πŸ’‘Β μƒνƒœ 확인:Β μƒνƒœΒ μ»¬λŸΌμœΌλ‘œ 검증 톡과/μ‹€νŒ¨ μ—¬λΆ€λ₯Ό λΉ λ₯΄κ²Œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€
  • πŸ’‘Β μ˜€λ₯˜ 뢄석:Β Error Count와 Error μ›μΈΒ μ»¬λŸΌμœΌλ‘œ 검증 μ‹€νŒ¨ 원인을 νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€
  • πŸ’‘Β μ΅œμ‹  정보: μ΅œμ‹  검증 ν˜„ν™©μ„ ν™•μΈν•˜λ €λ©΄ νŽ˜μ΄μ§€λ₯Ό μƒˆλ‘œκ³ μΉ¨ν•˜μ„Έμš”

Swagger λ¬Έμ„œ ν˜•μ‹ 검증​

경둜: 쒌츑 μ‚¬μ΄λ“œλ°” > API ν˜•μ‹ 검증 > API ν˜•μ‹ 검증

κΈ°λŠ₯ μ„€λͺ…​

Swagger λ¬Έμ„œ ν˜•μ‹ 검증은 개발된 API의 Swagger/OpenAPI μ •μ˜λ₯Ό μž…λ ₯ν•˜κ³ , μ„€μ •λœ 검증 κ·œμΉ™μ— 따라 κ²€μ¦ν•˜μ—¬ λ¬Έμ„œμ˜ μœ νš¨μ„±μ„ ν™•μΈν•˜λŠ” κΈ°λŠ₯μž…λ‹ˆλ‹€. μ‹€μ œ μ—…λ¬΄μ—μ„œ κ°œλ°œν•˜κ³  μƒμ„±λœ Swagger λ¬Έμ„œλ₯Ό 이 ν™”λ©΄μ—μ„œ κ²€μ¦ν•˜μ—¬ ν‘œμ€€ μ€€μˆ˜ 여뢀와 였λ₯˜λ₯Ό 사전에 λ°œκ²¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

νŽ˜μ΄μ§€ ꡬ성​

1. ν”„λ‘œμ νŠΈ μ„€μ • μ„Ήμ…˜

  • 검증할 ν”„λ‘œμ νŠΈ: λ“œλ‘­λ‹€μš΄μ—μ„œ 검증할 ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•©λ‹ˆλ‹€
    • 예:Β otel-prj
  • ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•˜λ©΄ ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ— 적용된 검증 κ·œμΉ™μ΄ μžλ™μœΌλ‘œ λ‘œλ“œλ©λ‹ˆλ‹€

2. 적용된 검증 κ·œμΉ™ μ„Ήμ…˜

μ„ νƒν•œ ν”„λ‘œμ νŠΈμ— 적용된 검증 κ·œμΉ™ λ£°μ…‹κ³Ό κ·œμΉ™ λͺ©λ‘μ„ ν‘œμ‹œν•©λ‹ˆλ‹€:

  • Rulesetλͺ…: 적용된 λ£°μ…‹ 이름 (예:Β MCP Swagger)
  • 적용 κ·œμΉ™ λͺ©λ‘:
    • mcp-operation-id-required: operationId ν•„μˆ˜ 검증
    • mcp-operation-id-style: operationId μŠ€νƒ€μΌ 검증
    • mcp-operation-summary-required: operation summary ν•„μˆ˜ 검증
    • mcp-json-request-body: JSON request body 검증
    • mcp-json-request-body-schema: JSON request body schema 검증
    • 기타 κ·œμΉ™λ“€
  • κ·œμΉ™ 개수: "외에 총 N개 κ·œμΉ™ 적용됨" ν˜•νƒœλ‘œ ν‘œμ‹œ

3. Swagger JSON μž…λ ₯ μ„Ήμ…˜

  • μž…λ ₯ ν•„λ“œ: λŒ€κ·œλͺ¨ ν…μŠ€νŠΈ μ˜μ—­μ— Swagger/OpenAPI JSON을 μž…λ ₯ν•©λ‹ˆλ‹€
    • κΈ°λ³Έ μ•ˆλ‚΄ 문ꡬ: "Swagger JSON을 μž…λ ₯ν•˜μ„Έμš”"
    • OpenAPI 3.0 ν˜•μ‹μ˜ Swagger μ •μ˜λ₯Ό μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€
  • μƒ˜ν”Œ λ‘œλ“œ λ²„νŠΌ: μž…λ ₯ ν•„λ“œ 우츑 상단에 μœ„μΉ˜ν•œ νŒŒλž€μƒ‰ λ²„νŠΌ
    • 클릭 μ‹œ μƒ˜ν”Œ Swagger μ •μ˜(Petstore 예제 λ“±)κ°€ μž…λ ₯ ν•„λ“œμ— μžλ™μœΌλ‘œ λ‘œλ“œλ©λ‹ˆλ‹€
    • μƒ˜ν”Œμ„ 톡해 μž…λ ₯ ν˜•μ‹μ„ ν™•μΈν•˜κ³  ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€
  • 검증 μƒνƒœ ν‘œμ‹œ: μž…λ ₯ ν•„λ“œ ν•˜λ‹¨μ— JSON μœ νš¨μ„± 검증 κ²°κ³Ό ν‘œμ‹œ
    • Valid JSON: JSON ν˜•μ‹μ΄ μœ νš¨ν•œ 경우 녹색 체크 ν‘œμ‹œ
    • OpenAPI Spec: OpenAPI μŠ€νŽ™μ„ λ”°λ₯΄λŠ” 경우 녹색 체크 ν‘œμ‹œ
  • SWAGGER 검증 μ‹€ν–‰ λ²„νŠΌ: 쀑앙 ν•˜λ‹¨μ— μœ„μΉ˜ν•œ 크고 νŒŒλž€μƒ‰ λ²„νŠΌ
    • μž…λ ₯된 Swagger JSON에 λŒ€ν•΄ μ„€μ •λœ 검증 κ·œμΉ™μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€
    • 클릭 μ‹œ 검증이 μ‹œμž‘λ˜κ³  κ²°κ³Όκ°€ ν•˜λ‹¨μ— ν‘œμ‹œλ©λ‹ˆλ‹€
  • κ²°κ³Ό 내보내기 λ²„νŠΌ: 검증 μ‹€ν–‰ λ²„νŠΌ μ˜†μ— μœ„μΉ˜ν•œ 녹색 λ²„νŠΌ
    • 검증 κ²°κ³Όλ₯Ό 파일둜 내보낼 수 μžˆμŠ΅λ‹ˆλ‹€

4. 검증 κ²°κ³Ό μ„Ήμ…˜

검증 μ‹€ν–‰ ν›„ ν•˜λ‹¨μ— 검증 κ²°κ³Όκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€:

μš”μ•½ 정보 (상단 μΉ΄λ“œ ν˜•νƒœ):

  • 였λ₯˜ (ERROR): 빨간색 배경으둜 ν‘œμ‹œλ˜λŠ” 였λ₯˜ 개수
    • 예:Β 1 였λ₯˜
  • κ²½κ³  (WARNING): 주황색 배경으둜 ν‘œμ‹œλ˜λŠ” κ²½κ³  개수
    • 예:Β 0 κ²½κ³ 
  • 톡과 (SUCCESS): 녹색 배경으둜 ν‘œμ‹œλ˜λŠ” 톡과 개수
    • 예:Β 8 톡과
  • FAIL 총 N개 이슈: 빨간색 λ ˆμ΄λΈ”λ‘œ 전체 이슈 개수 ν‘œμ‹œ
    • 예:Β FAIL 총 1개 이슈

상세 κ²°κ³Ό ν…Œμ΄λΈ”:

컬럼λͺ…μ„€λͺ…
심각도ERRORΒ (빨간색) λ˜λŠ”Β SUCCESSΒ (녹색)둜 ν‘œμ‹œ
κ·œμΉ™μ μš©λœ 검증 κ·œμΉ™ 이름 (예:Β mcp-json-request-body)
λ©”μ‹œμ§€κ²€μ¦ κ²°κ³Ό λ©”μ‹œμ§€ (예:Β "content" property must have...)
경둜였λ₯˜κ°€ λ°œμƒν•œ Swagger μ •μ˜ λ‚΄μ˜ 경둜
Rulesetλͺ…ν•΄λ‹Ή κ·œμΉ™μ΄ μ†ν•œ λ£°μ…‹ 이름
μ•‘μ…˜μƒμ„Έλ³΄κΈ°Β λ²„νŠΌμœΌλ‘œ 각 ν•­λͺ©μ˜ 상세 정보 확인 κ°€λŠ₯

ν…Œμ΄λΈ” κΈ°λŠ₯:

  • νŽ˜μ΄μ§•: 검증 κ²°κ³Όκ°€ λ§Žμ„ 경우 νŽ˜μ΄μ§€ λ‹¨μœ„λ‘œ 쑰회 (예: "Rows per page: 10")
  • μ •λ ¬: 컬럼 헀더 클릭으둜 μ •λ ¬ κ°€λŠ₯
  • 상세보기: 각 ν•­λͺ©μ˜Β μ•‘μ…˜Β μ»¬λŸΌμ—μ„œΒ μƒμ„Έλ³΄κΈ°Β λ²„νŠΌ 클릭으둜 상세 정보 확인

μ£Όμš” κΈ°λŠ₯​

1. ν”„λ‘œμ νŠΈλ³„ 검증 κ·œμΉ™ 적용

  • ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•˜λ©΄ ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ— λ§€ν•‘λœ 검증 κ·œμΉ™μ΄ μžλ™μœΌλ‘œ μ μš©λ©λ‹ˆλ‹€
  • 각 ν”„λ‘œμ νŠΈλ§ˆλ‹€ λ‹€λ₯Έ 검증 κ·œμΉ™μ„ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€

2. Swagger JSON μž…λ ₯ 및 검증

  • 개발된 API의 Swagger/OpenAPI μ •μ˜λ₯Ό 직접 μž…λ ₯ν•˜μ—¬ 검증할 수 μžˆμŠ΅λ‹ˆλ‹€
  • JSON ν˜•μ‹ μœ νš¨μ„±κ³Ό OpenAPI μŠ€νŽ™ μ€€μˆ˜ μ—¬λΆ€λ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€

3. μƒ˜ν”Œ λ‘œλ“œ κΈ°λŠ₯

  • μƒ˜ν”Œ λ‘œλ“œΒ λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ μƒ˜ν”Œ Swagger μ •μ˜κ°€ μžλ™μœΌλ‘œ μž…λ ₯λ©λ‹ˆλ‹€
  • μƒ˜ν”Œμ„ 톡해 μž…λ ₯ ν˜•μ‹μ„ ν™•μΈν•˜κ³  κΈ°λŠ₯을 ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€

4. 검증 μ‹€ν–‰ 및 κ²°κ³Ό 확인

  • SWAGGER 검증 μ‹€ν–‰Β λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ μ„€μ •λœ λͺ¨λ“  검증 κ·œμΉ™μ΄ μ‹€ν–‰λ©λ‹ˆλ‹€
  • 검증 κ²°κ³ΌλŠ” 였λ₯˜, κ²½κ³ , ν†΅κ³Όλ‘œ λΆ„λ₯˜λ˜μ–΄ ν‘œμ‹œλ©λ‹ˆλ‹€
  • 각 검증 ν•­λͺ©μ˜ 상세 정보(κ·œμΉ™, λ©”μ‹œμ§€, 경둜)λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€

5. κ²°κ³Ό 내보내기

  • 검증 κ²°κ³Όλ₯Ό 파일둜 내보내어 λ¬Έμ„œν™”ν•˜κ±°λ‚˜ κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€

μ‚¬μš© 방법​

κΈ°λ³Έ 검증 ν”„λ‘œμ„ΈμŠ€

  1. ν”„λ‘œμ νŠΈ 선택: μƒλ‹¨μ˜Β κ²€μ¦ν•  ν”„λ‘œμ νŠΈΒ λ“œλ‘­λ‹€μš΄μ—μ„œ 검증할 ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•©λ‹ˆλ‹€
  2. 검증 κ·œμΉ™ 확인: 적용된 검증 κ·œμΉ™Β μ„Ήμ…˜μ—μ„œ 적용될 κ·œμΉ™ λͺ©λ‘μ„ ν™•μΈν•©λ‹ˆλ‹€
  3. Swagger JSON μž…λ ₯:
    • 방법 1: 개발된 API의 Swagger JSON을 λ³΅μ‚¬ν•˜μ—¬ μž…λ ₯ ν•„λ“œμ— λΆ™μ—¬λ„£μŠ΅λ‹ˆλ‹€
    • 방법 2:Β μƒ˜ν”Œ λ‘œλ“œΒ λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬ μƒ˜ν”Œ Swaggerλ₯Ό λ‘œλ“œν•˜κ³  μˆ˜μ •ν•©λ‹ˆλ‹€
  4. JSON μœ νš¨μ„± 확인: μž…λ ₯ ν•„λ“œ ν•˜λ‹¨μ˜Β Valid JSONκ³ΌΒ OpenAPI Spec 체크 ν‘œμ‹œλ₯Ό ν™•μΈν•©λ‹ˆλ‹€
  5. 검증 μ‹€ν–‰:Β SWAGGER 검증 μ‹€ν–‰Β λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€
  6. κ²°κ³Ό 확인: ν•˜λ‹¨μ˜Β κ²€μ¦ κ²°κ³ΌΒ μ„Ήμ…˜μ—μ„œ μš”μ•½ 정보와 상세 κ²°κ³Όλ₯Ό ν™•μΈν•©λ‹ˆλ‹€
  7. 였λ₯˜ μˆ˜μ •: 였λ₯˜κ°€ 발견된 경우 λ©”μ‹œμ§€μ™€ 경둜λ₯Ό μ°Έκ³ ν•˜μ—¬ Swagger μ •μ˜λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€
  8. μž¬κ²€μ¦: μˆ˜μ • ν›„ λ‹€μ‹œ 검증을 μ‹€ν–‰ν•˜μ—¬ λͺ¨λ“  였λ₯˜κ°€ ν•΄κ²°λ˜μ—ˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€

μ‹€μ œ 업무 ν™œμš© μ‹œλ‚˜λ¦¬μ˜€

μ‹œλ‚˜λ¦¬μ˜€ 1: 개발 μ™„λ£Œ ν›„ Swagger 검증

  1. API κ°œλ°œμ„ μ™„λ£Œν•˜κ³  Swagger/OpenAPI μ •μ˜λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€
  2. 쒌츑 μ‚¬μ΄λ“œλ°”μ—μ„œΒ API 관리 >Β API ν˜•μ‹ κ²€μ¦Β λ©”λ‰΄λ‘œ μ΄λ™ν•©λ‹ˆλ‹€
  3. 검증할 ν”„λ‘œμ νŠΈμ—μ„œ ν•΄λ‹Ή ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•©λ‹ˆλ‹€
  4. μƒμ„±λœ Swagger JSON을 λ³΅μ‚¬ν•˜μ—¬ μž…λ ₯ ν•„λ“œμ— λΆ™μ—¬λ„£μŠ΅λ‹ˆλ‹€
  5. SWAGGER 검증 μ‹€ν–‰Β λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€
  6. 검증 κ²°κ³Όλ₯Ό ν™•μΈν•˜κ³  였λ₯˜κ°€ 있으면 μˆ˜μ •ν•©λ‹ˆλ‹€
  7. λͺ¨λ“  검증을 톡과할 λ•ŒκΉŒμ§€ λ°˜λ³΅ν•©λ‹ˆλ‹€

μ‹œλ‚˜λ¦¬μ˜€ 2: μƒ˜ν”Œμ„ ν™œμš©ν•œ 검증 ν…ŒμŠ€νŠΈ

  1. 검증할 ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•©λ‹ˆλ‹€
  2. μƒ˜ν”Œ λ‘œλ“œΒ λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬ μƒ˜ν”Œ Swaggerλ₯Ό λ‘œλ“œν•©λ‹ˆλ‹€
  3. μƒ˜ν”Œ Swaggerλ₯Ό μ°Έκ³ ν•˜μ—¬ μ‹€μ œ Swagger μ •μ˜λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€
  4. SWAGGER 검증 μ‹€ν–‰Β λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬ κ²€μ¦ν•©λ‹ˆλ‹€
  5. 검증 κ²°κ³Όλ₯Ό ν™•μΈν•˜κ³  ν•„μš”ν•œ μˆ˜μ •μ„ μ§„ν–‰ν•©λ‹ˆλ‹€

μ‹œλ‚˜λ¦¬μ˜€ 3: 검증 κ·œμΉ™ μ€€μˆ˜ 확인

  1. ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•˜μ—¬ 적용된 검증 κ·œμΉ™μ„ ν™•μΈν•©λ‹ˆλ‹€
  2. Swagger JSON을 μž…λ ₯ν•©λ‹ˆλ‹€
  3. 검증을 μ‹€ν–‰ν•©λ‹ˆλ‹€
  4. 상세 κ²°κ³Ό ν…Œμ΄λΈ”μ—μ„œ 각 κ·œμΉ™λ³„ 검증 κ²°κ³Όλ₯Ό ν™•μΈν•©λ‹ˆλ‹€
  5. ERRORΒ λ˜λŠ”Β WARNING이 μžˆλŠ” κ·œμΉ™μ„ ν™•μΈν•˜κ³  ν•΄λ‹Ή 뢀뢄을 μˆ˜μ •ν•©λ‹ˆλ‹€
  6. μƒμ„Έλ³΄κΈ°Β λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬ 였λ₯˜μ˜ 상세 정보λ₯Ό ν™•μΈν•©λ‹ˆλ‹€

ν™œμš© μ˜ˆμ‹œβ€‹

μ˜ˆμ‹œ 1: κΈ°λ³Έ 검증 μ‹€ν–‰

  1. ν”„λ‘œμ νŠΈΒ otel-prj 선택
  2. μƒ˜ν”Œ λ‘œλ“œΒ λ²„νŠΌ ν΄λ¦­ν•˜μ—¬ μƒ˜ν”Œ Swagger λ‘œλ“œ
  3. SWAGGER 검증 μ‹€ν–‰Β λ²„νŠΌ 클릭
  4. 검증 κ²°κ³Ό 확인:
    • 였λ₯˜: 1개
    • κ²½κ³ : 0개
    • 톡과: 8개

μ˜ˆμ‹œ 2: μ‹€μ œ Swagger 검증

  1. 개발 μ™„λ£Œλœ API의 Swagger JSON 볡사
  2. ν”„λ‘œμ νŠΈ 선택 (예:Β otel-prj)
  3. Swagger JSON을 μž…λ ₯ ν•„λ“œμ— λΆ™μ—¬λ„£κΈ°
  4. JSON μœ νš¨μ„± 확인 (Valid JSON,Β OpenAPI Spec 체크)
  5. SWAGGER 검증 μ‹€ν–‰Β λ²„νŠΌ 클릭
  6. 검증 κ²°κ³Όμ—μ„œ 였λ₯˜ 확인:
    • 예:Β mcp-json-request-bodyΒ κ·œμΉ™ μœ„λ°˜
    • λ©”μ‹œμ§€:Β "content" property must have required property "application/json"
    • 경둜:Β paths./pet/{petId}/uploadImage.post.requestBody.content
  7. Swagger μ •μ˜μ—μ„œ ν•΄λ‹Ή 경둜의 였λ₯˜ μˆ˜μ •
  8. μˆ˜μ • ν›„ μž¬κ²€μ¦ μ‹€ν–‰
  9. λͺ¨λ“  검증 톡과 확인

μ˜ˆμ‹œ 3: 검증 κ²°κ³Ό 뢄석

  1. 검증 μ‹€ν–‰ 후 검증 κ²°κ³ΌΒ μ„Ήμ…˜ 확인
  2. μš”μ•½ μ •λ³΄μ—μ„œ 전체 이슈 개수 확인 (예:Β FAIL 총 1개 이슈)
  3. 상세 κ²°κ³Ό ν…Œμ΄λΈ”μ—μ„œ 각 ν•­λͺ© 확인:
    • 심각도:Β ERROR인 ν•­λͺ© μš°μ„  확인
    • κ·œμΉ™: μ–΄λ–€ κ·œμΉ™μ—μ„œ μ‹€νŒ¨ν–ˆλŠ”μ§€ 확인
    • λ©”μ‹œμ§€: ꡬ체적인 였λ₯˜ λ‚΄μš© 확인
    • 경둜: Swagger μ •μ˜μ—μ„œ μˆ˜μ •ν•΄μ•Ό ν•  μœ„μΉ˜ 확인
  4. μƒμ„Έλ³΄κΈ°Β λ²„νŠΌ ν΄λ¦­ν•˜μ—¬ μΆ”κ°€ 정보 확인
  5. 였λ₯˜ μˆ˜μ • ν›„ μž¬κ²€μ¦

μ£Όμ˜μ‚¬ν•­β€‹

  • βš οΈΒ ν”„λ‘œμ νŠΈ 선택 ν•„μˆ˜: 검증 κ·œμΉ™μ€ ν”„λ‘œμ νŠΈλ³„λ‘œ λ‹€λ₯Ό 수 μžˆμœΌλ―€λ‘œ λ°˜λ“œμ‹œ μ˜¬λ°”λ₯Έ ν”„λ‘œμ νŠΈλ₯Ό 선택해야 ν•©λ‹ˆλ‹€
  • ⚠️ JSON ν˜•μ‹ μ€€μˆ˜: μž…λ ₯ν•œ SwaggerλŠ” μœ νš¨ν•œ JSON ν˜•μ‹μ΄μ–΄μ•Ό ν•˜λ©°, OpenAPI μŠ€νŽ™μ„ 따라야 ν•©λ‹ˆλ‹€
  • βš οΈΒ κ²€μ¦ κ·œμΉ™ 확인: ν”„λ‘œμ νŠΈμ— 적용된 검증 κ·œμΉ™μ„ 미리 ν™•μΈν•˜μ—¬ ν•„μš”ν•œ ν•­λͺ©μ„ μ€€μˆ˜ν•˜λ„λ‘ Swaggerλ₯Ό μž‘μ„±ν•˜μ„Έμš”
  • ⚠️ 였λ₯˜ μˆ˜μ • ν›„ μž¬κ²€μ¦: 였λ₯˜λ₯Ό μˆ˜μ •ν•œ ν›„μ—λŠ” λ°˜λ“œμ‹œ μž¬κ²€μ¦μ„ μ‹€ν–‰ν•˜μ—¬ λͺ¨λ“  였λ₯˜κ°€ ν•΄κ²°λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”
  • βš οΈΒ κ²€μ¦ κ²°κ³Ό μ €μž₯: μ€‘μš”ν•œ 검증 κ²°κ³ΌλŠ”Β κ²°κ³Ό 내보내기 기λŠ₯을 ν™œμš©ν•˜μ—¬ μ €μž₯ν•˜μ„Έμš”

ν™œμš© νŒβ€‹

  • πŸ’‘Β μƒ˜ν”Œ ν™œμš©: 처음 μ‚¬μš©ν•˜λŠ” κ²½μš°Β μƒ˜ν”Œ λ‘œλ“œΒ λ²„νŠΌμ„ ν™œμš©ν•˜μ—¬ μž…λ ₯ ν˜•μ‹μ„ ν™•μΈν•˜μ„Έμš”
  • πŸ’‘Β μ‹€μ‹œκ°„ 검증: JSON을 μž…λ ₯ν•˜λŠ” λ™μ•ˆΒ Valid JSONκ³ΌΒ OpenAPI SpecΒ ν‘œμ‹œλ₯Ό ν™•μΈν•˜μ—¬ μ‹€μ‹œκ°„μœΌλ‘œ ν˜•μ‹μ„ 검증할 수 μžˆμŠ΅λ‹ˆλ‹€
  • πŸ’‘Β κ·œμΉ™λ³„ 확인: 검증 κ²°κ³Ό ν…Œμ΄λΈ”μ—μ„œ κ·œμΉ™λ³„λ‘œ ν•„ν„°λ§ν•˜μ—¬ νŠΉμ • κ·œμΉ™μ˜ 검증 결과만 확인할 수 μžˆμŠ΅λ‹ˆλ‹€
  • πŸ’‘Β κ²½λ‘œ ν™œμš©: 검증 κ²°κ³Όμ˜Β κ²½λ‘œΒ μ •λ³΄λ₯Ό ν™œμš©ν•˜μ—¬ Swagger μ •μ˜μ—μ„œ μ •ν™•ν•œ μœ„μΉ˜λ₯Ό μ°Ύμ•„ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€
  • πŸ’‘Β λ°˜λ³΅ 검증: 개발 쀑간쀑간 검증을 μ‹€ν–‰ν•˜μ—¬ 였λ₯˜λ₯Ό 쑰기에 λ°œκ²¬ν•˜κ³  μˆ˜μ •ν•˜λŠ” 것이 νš¨μœ¨μ μž…λ‹ˆλ‹€