Skip to content

πŸ”₯❗[κΈ΄κΈ‰][버그][AIμž₯μ†ŒμΆ”μΆœ][API] AI μž₯μ†Œ μΆ”μΆœ μš”μ²­ μ‹œ Validation μ‹€νŒ¨ - ν•„λ“œλͺ… 뢈일치 (sourceUrl β†’ snsUrl)Β #46

@Cassiiopeia

Description

@Cassiiopeia

πŸ—’οΈ μ„€λͺ…

  • AI μž₯μ†Œ μΆ”μΆœ κΈ°λŠ₯μ—μ„œ SNS URL을 μž…λ ₯ν•˜κ³  "μž₯μ†Œ μΆ”μΆœν•˜κΈ°" λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ μ¦‰μ‹œ "URL 뢄석에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ‹œλ„ν•΄μ£Όμ„Έμš”." 였λ₯˜ 화면이 ν‘œμ‹œλ¨
  • λ°±μ—”λ“œ 둜그 확인 κ²°κ³Ό, POST /api/content/analyze μš”μ²­ μ‹œ Validation μ‹€νŒ¨: "snsUrl은 ν•„μˆ˜μž…λ‹ˆλ‹€." μ—λŸ¬κ°€ 반볡 λ°œμƒ
  • 원인: ν”„λ‘ νŠΈμ—”λ“œ(Flutter)μ—μ„œ μš”μ²­ body에 sourceUrl ν•„λ“œλͺ…μœΌλ‘œ μ „μ†‘ν•˜κ³  μžˆμœΌλ‚˜, λ°±μ—”λ“œ API(RequestPlaceExtractionRequest)λŠ” snsUrl ν•„λ“œλͺ…을 μš”κ΅¬ν•¨
    • FE 전솑: { "sourceUrl": "https://www.instagram.com/..." }
    • BE κΈ°λŒ€: { "snsUrl": "https://www.instagram.com/..." }

πŸ”„ μž¬ν˜„ 방법

  1. μ•±μ—μ„œ AI μž₯μ†Œ μΆ”μΆœ ν™”λ©΄ μ§„μž…
  2. Instagram λ˜λŠ” YouTube 링크λ₯Ό μž…λ ₯
  3. "μž₯μ†Œ μΆ”μΆœν•˜κΈ°" λ²„νŠΌ νƒ­
  4. μ¦‰μ‹œ 였λ₯˜ ν™”λ©΄ ν‘œμ‹œ ("URL 뢄석에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ‹œλ„ν•΄μ£Όμ„Έμš”.")

πŸ“Έ μ°Έκ³  자료

λ°±μ—”λ“œ μ—λŸ¬ 둜그:

2026-02-23T15:36:45.715+09:00 ERROR [mapsy] GlobalExceptionHandler: [μ˜ˆμ™Έ 처리] Validation μ‹€νŒ¨: message=snsUrl은 ν•„μˆ˜μž…λ‹ˆλ‹€., path=/api/content/analyze, method=POST
2026-02-23T15:36:49.374+09:00 ERROR [mapsy] GlobalExceptionHandler: [μ˜ˆμ™Έ 처리] Validation μ‹€νŒ¨: message=snsUrl은 ν•„μˆ˜μž…λ‹ˆλ‹€., path=/api/content/analyze, method=POST
2026-02-23T16:13:02.581+09:00 ERROR [mapsy] GlobalExceptionHandler: [μ˜ˆμ™Έ 처리] Validation μ‹€νŒ¨: message=snsUrl은 ν•„μˆ˜μž…λ‹ˆλ‹€., path=/api/content/analyze, method=POST

λ°±μ—”λ“œ API μŠ€νŽ™ (api-docs):

  • μ—”λ“œν¬μΈνŠΈ: POST /api/content/analyze
  • μš”μ²­ μŠ€ν‚€λ§ˆ: RequestPlaceExtractionRequest β†’ ν•„μˆ˜ ν•„λ“œ: snsUrl (string)

ν”„λ‘ νŠΈμ—”λ“œ ν˜„μž¬ μ½”λ“œ:

  • AnalyzeRequest λͺ¨λΈ: sourceUrl ν•„λ“œ μ‚¬μš© β†’ toJson() μ‹œ { "sourceUrl": "..." } 으둜 직렬화

βœ… μ˜ˆμƒ λ™μž‘

  • SNS URL μž…λ ₯ ν›„ "μž₯μ†Œ μΆ”μΆœν•˜κΈ°" λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ μ •μƒμ μœΌλ‘œ AI 뢄석이 μ‹œμž‘λ˜μ–΄μ•Ό 함
  • ν”„λ‘ νŠΈμ—”λ“œ μš”μ²­ body의 ν•„λ“œλͺ…이 λ°±μ—”λ“œ API μŠ€νŽ™(snsUrl)κ³Ό μΌμΉ˜ν•΄μ•Ό 함

βš™οΈ ν™˜κ²½ 정보

πŸ™‹β€β™‚οΈ λ‹΄λ‹Ήμž

  • λ°±μ—”λ“œ: 이름
  • ν”„λ‘ νŠΈμ—”λ“œ: @Cassiiopeia
  • λ””μžμΈ: 이름

Metadata

Metadata

Assignees

Labels

κΈ΄κΈ‰κΈ΄κΈ‰ν•œ μž‘μ—…μž‘μ—… μ™„λ£Œμž‘μ—… μ™„λ£Œ μƒνƒœμΈ 경우 (이슈 폐쇄)

Type

No type

Projects

Status

μž‘μ—… μ™„λ£Œ

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions