TIL (20210819) - Restdoc import error

Joshua_KimΒ·2021λ…„ 8μ›” 19일
1

πŸ“– TIL

λͺ©λ‘ 보기
5/8
post-thumbnail

🌱 μ„œλ‘ 

  • 카카였 μ•Œλ¦Όν†‘ ν…œν”Œλ¦Ώ 관리 API λͺ¨λ“ˆμ„ μ™„μ„±ν•˜μ—¬ 배포전에 API λ¬Έμ„œλ₯Ό λ§Œλ“€κ³  μžˆμ—ˆλ‹€.

  • swagger도 많이 μ‚¬μš©λ˜μ§€λ§Œ μš°λ¦¬νšŒμ‚¬λŠ” spring에 더 μ΅œμ ν™” λ˜μ–΄μžˆλŠ” Restdoc을 μ‚¬μš©ν•˜μ—¬ APIλ¬Έμ„œλ₯Ό λ§Œλ“ λ‹€.

  • λ¬Έμ„œλ₯Ό λ§Œλ“œλŠ”κ±΄ 즐겁지 μ•Šλ‹€. ν…ŒμŠ€νŠΈμ™€ μ•„μŠ€ν‚€λ… λ¬Έμ„œ κΎΈλ―ΈκΈ° λ…Έκ°€λ‹€μ˜ 연속이기 λ•Œλ¬Έμ΄λ‹€.

  • κ·Έ 와쀑에 λ‹Ήν™©μŠ€λŸ° μ‹€μˆ˜λ₯Ό ν•˜μ˜€κ³ , ꡬ글링해도 μ΄μƒν•œ 닡이 μžˆμ–΄μ„œ λ‚΄κ°€ 직접 ν•΄κ²°ν•œ 것을 ν¬μŠ€νŒ…ν•˜λŠ”κ²Œ λ‚«λ‹€ μ‹Άμ–΄ ν¬μŠ€νŒ…ν•œλ‹€.

⚠️ λ‹Ήλ©΄ν•œ μ˜ˆμ™Έ 메세지

java.lang.IllegalArgumentException: urlTemplate not found. If you are using MockMvc did you use RestDocumentationRequestBuilders to build the request?

  • RestDoc에 아직 μ™„μ „νžˆ μ΅μˆ™ν•˜μ§€ λͺ»ν–ˆλ˜ λ‚˜λŠ” 또 λ‚΄μž˜λͺ»μ΄κ² κ±°λ‹ˆ 천천히 메세지λ₯Ό μ½μ—ˆλ‹€.

  • MockMvc도, RestDocumentationRequestBuilders도 ν…ŒμŠ€νŠΈμ—μ„œ λ‹€ μ‚¬μš©ν•˜κ³ μžˆλŠ”λ°... λ­”μ†Œλ¦¬λ‹ˆ λ„ˆ μž…λ§›λŒ€λ‘œ λ­”κ°€ λ§žμΆ°μ€˜μ•Όν•˜λ‹ˆ..? πŸ€”

  • ꡬ글링을 ν•΄λ³΄λ‹ˆκΉŒ 뭐 pathParameterλ₯Ό μ‚¬μš©ν•˜λ©΄ get, post, patch, deleteλ“± λ©”μ†Œλ“œ μ•žμ— RestDocumentationRequestBuildersλ₯Ό λͺ…μ‹œν•΄μ€˜μ•Όν•œλ‹€κ³  ν•œλ‹€. μ‹€μ œλ‘œ ν•΄λ³΄λ‹ˆ λ˜κΈ΄λœλ‹€. 근데 μ’€ κΊΌλ¦ΌμΉ™ν•˜λ‹€. μ•žμ— 클래슀λ₯Ό μ €λ ‡κ²Œ λͺ…μ‹œν•΄μ€€λ‹€λŠ” 건.. μ›λž˜ μ‚¬μš©ν•˜λ˜ λ©”μ†Œλ“œκ°€ λ‹€λ₯Έ 클래슀λ₯Ό importν•΄μ„œ κ°€μ Έμ™”λ‹€λŠ” 것 같은데....?

  • μ‹€μ œλ‘œ 내생각이 λ§žμ•˜λ‹€.pathParameterμ˜΅μ…˜μ„ μ‚¬μš©ν•  λ•Œ μ € 클래슀λ₯Ό λͺ…μ‹œν•΄μ€˜μ•Όν•˜λŠ” 것이 μ•„λ‹ˆλΌ! 거지같은 μ΄μƒν•œ κΈ€λ•Œλ¬Έμ— 더 헀맨듯 import 받은 클래슀 μžμ²΄κ°€ λ‹¬λžλ‹€.

πŸ— 해결방법

  • μ‚¬μ§„μ—μ„œ 확인할 수 μžˆλ“―μ΄ method에 2가지 클래슀λ₯Ό κ³¨λΌμ„œ importν•΄μ•Όν•œλ‹€.

  • ν•˜λ‚˜λŠ” MockMvcRequestBuilderκ³ , ν•˜λ‚˜λŠ” RestDocumentationRequestBuilderλ‹€.

  • MockMvcREquestBuilderκ°€ μœ„μ— μ˜¬λΌκ°€μžˆμ–΄μ„œ μžμ—°μŠ€λŸ½κ²Œ κ·Έκ±Έ importν•˜λŠ” κ²½μš°κ°€ λ§Žμ€λ°, 이럴경우 μœ„μ™€ 같은 μ˜ˆμ™Έλ₯Ό λ±‰λŠ”λ‹€. RestDocumentationRequestBuilderλ₯Ό importν•΄μ£Όμž.

πŸ™ 였늘의 TILλ₯Ό 마치며

  • ꡬ글 μ„ μƒλ‹˜μ€‘μ—μ„œλ„ λ§žμ§€ μ•ŠλŠ” μ •λ³΄λ‘œ ν˜Όλž€μŠ€λŸ½κ²Œ ν•˜λŠ” 뢄듀이 κ½€ μžˆλ‹€. μ •ν™•ν•œ 이유λ₯Ό λͺ¨λ₯Έμ±„ μΆ”μΈ‘μ„± 글을 팩트처럼 μ¨μž¬λΌμ‹ λΆ„λ“€ λ•Œλ¬Έμ— ν˜Όλž€μ΄ μ˜¨λ‹€. μ œλŒ€λ‘œ μ•Œκ³  ν¬μŠ€νŒ…ν•˜μž 제발. 였늘 같은 κ²½μš°λŠ” λ‹€λ₯Έκ²Œ λ¬Έμ œκ°€ μ•„λ‹ˆλΌ λ‹¨μˆœ importλ¬Έμ œλ‹€.

  • μ œλŒ€λ‘œ import λ°›μž. 같은 μ΄λ¦„μ˜ λ©”μ†Œλ“œλ“€μ΄ μ‹€λ¬΄μ—μ„œ 코딩을 ν•˜λ©΄ ν• μˆ˜λ‘ 이곳 μ €κ³³μ—μ„œ λ‚˜μ˜¨λ‹€.

profile
인문학 ν•˜λŠ” 개발자 πŸ’»

0개의 λŒ“κΈ€