router ꡬ쑰

λ°‘κ³Ό 같이 μ§„μž…μ μ„ μ •μ˜ν•˜λŠ” router 듀이 μ •μ˜λ˜μ–΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

	router.get('/:orderNumber');
	router.get('/user/:userId');

문제점

μ²˜μŒμ— api μš”μ²­μ„ 보낼 λ•ŒλŠ” /user/:userId λΌλŠ” 경둜둜 νŒŒλΌλ―Έν„°μ™€ ν•¨κ»˜ GET μš”μ²­μ„ λ³΄λƒˆμ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ„œλ²„μ—μ„œ λ˜μ§„ 것은 401 response μ˜€μŠ΅λ‹ˆλ‹€. api λ¬Έμ„œ κ·œκ²©μ— 맞게 body와 header도 μ œλŒ€λ‘œ λ„£μ–΄μ£Όμ—ˆκ³ ,, 호좜 URL도 맞고, HTTP λ©”μ„œλ“œλ„ λ‹€λ₯Έκ²Œ μ—†λŠ”λ° μ™œ μ•ˆλ κΉŒ,, λΌλŠ” λ¬Έμ œμ— μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€.

ν•΄κ²°

νŒ€μ›λ“€κ³Ό μ•½, ν•˜λ£¨λ₯Ό 디버깅을 ν–ˆμŠ΅λ‹ˆλ‹€.

μ§€κΈˆ λ³΄λ‹ˆ ν΄λΌμ΄μ–ΈνŠΈλ‹¨μ—μ„œ λ°›λŠ” μ—λŸ¬λ„ λ‹€λ₯Έ router μ—μ„œ 응닡을 μ£ΌλŠ” μ—λŸ¬μ˜€μŠ΅λ‹ˆλ‹€.

결둠은 requestλ₯Ό λ°›λŠ” λ‹¨μˆœ router의 μˆœμ„œ λ¬Έμ œμ˜€μŠ΅λ‹ˆλ‹€..

μœ„μ˜ /:orderNumber의 GET μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” router 에 /user/:userId 둜 보낸 ν΄λΌμ΄μ–ΈνŠΈ λ‹¨μ˜ api μš”μ²­μ˜ url이 νŒŒλΌλ―Έν„°λ‘œ ν•œκΊΌλ²ˆμ— λ“€μ–΄κ°„ κ²ƒμž…λ‹ˆλ‹€.

router.get('/user/:userId');
router.get('/:orderNumber');

router 의 μˆœμ„œλ§Œ λ³€κ²½ν•˜μ—¬ ν•΄κ²°ν•˜μ˜€μŠ΅λ‹ˆλ‹€β€¦ πŸ˜‡

디버깅 과정을 μ½”μΉ˜λ‹˜κ»˜ μ§ˆλ¬Έν•˜λ‹ˆ vscode 디버거 μ‚¬μš©λ²•μ„ μ•Œλ €μ£Όμ…¨μŠ΅λ‹ˆλ‹€. μ μ ˆν•œ μœ„μΉ˜λ‘œ breakpointλ₯Ό κ±Έκ³  디버거 λͺ¨λ“œλ‘œ μ„œλ²„λ₯Ό 올렀 ν…ŒμŠ€νŠΈν•˜λŠ” λ°©λ²•μ΄μ˜€μŠ΅λ‹ˆλ‹€.

이 방법을 μ§„μž‘ μ•Œμ•˜λ”λΌλ©΄,, ν•˜λ£¨κ°€ 걸렸을 κ±Έ, 30뢄이면 μž‘μ•˜κ² λ‹€ λΌλŠ” 생각을 ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.