λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μ‹œλ„/Code-States

[D+131] Final Project : 11일차 νšŒμ›νƒˆν‡΄, λ‘œκ·Έμ•„μ›ƒ API

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 2. 27.

 

 

D+131

-  Final Project : 11일차 -

( νšŒμ›νƒˆν‡΄, λ‘œκ·Έμ•„μ›ƒ API κ΅¬ν˜„ )

 


 

 

μ˜€λŠ˜μ€ νšŒμ›νƒˆν‡΄ API와 λ‘œκ·Έμ•„μ›ƒ APIλ₯Ό κ΅¬ν˜„ν•˜λŠ” μ‹œκ°„μ„ κ°€μ‘Œλ‹€.

 

λ¨Όμ € νšŒμ›νƒˆν‡΄ λ‘œκ·Έμ•„μ›ƒμ„ κ΅¬ν˜„ν•˜λŠ”λ°

μƒκ°ν•΄λ³΄λ‹ˆ νšŒμ›νƒˆν‡΄λ₯Ό ν•  κ²½μš°μ— λ‹¨μˆœνžˆ νšŒμ›μ •λ³΄λ§Œ μ‚­μ œν•˜λŠ”κ²Œ μ•„λ‹ˆλΌ

νŠΉμ • νšŒμ›μ΄ μž‘μ„±ν•œ 글도 μ§€μ›Œμ•Ό ν•˜λŠ” 건지에 λŒ€ν•΄μ„œ 문득 생각이 λ“€μ—ˆλ‹€.

 

κ·Έλž˜μ„œ νŒ€μž₯λ‹˜κ»˜ λ¨Όμ € 이 이야기λ₯Ό ν•˜κ²Œ λ˜μ—ˆκ³ 

νŒ€μž₯λ‹˜μ€ νšŒμ›μ •λ³΄λ§Œ μ§€μš°μ§€ μ•Šκ³  νŠΉμ • νšŒμ›μ΄ μ—°κ΄€λœ 것듀은 λͺ¨λ‘ μ§€μ›Œμ•Ό ν•œλ‹€κ³  ν•˜μ˜€λ‹€.

 

κ·Έλž˜μ„œ νšŒμ›νƒˆν‡΄λ₯Ό ν•  κ²½μš°μ— λ‚΄κ°€ κ΅¬ν˜„ν•΄μ•Ό ν•  것은

 

1. λ‚΄κ°€ μ“΄ κΈ€ μ‚­μ œν•˜κΈ°

2. λ‚΄κ°€ λˆ„λ₯Έ μ’‹μ•„μš” / μ‹«μ–΄μš” μ‚­μ œν•˜κΈ°

3. 내정보 μ‚­μ œν•˜κΈ°

 

μ΄λ ‡κ²Œ 3가지λ₯Ό μž‘μ„±ν•΄μ•Ό ν–ˆλ‹€.

 

 

λ‚΄κ°€ μ“΄ 글을 μ‚­μ œν•˜λŠ”κ±΄ κ°„λ‹¨ν•˜κ²Œ removeλ₯Ό ν†΅ν•΄μ„œ 값을 μ‚­μ œ ν•˜μ˜€κ³ ,

λ‚΄ 정보λ₯Ό μ‚­μ œν•˜λŠ” 것도 λ§ˆμ°¬κ°€μ§€λ‘œ _idλ₯Ό μ°Ύμ•„μ„œ 값을 μ‚­μ œ ν•˜μ˜€λ‹€.

 

그런데 λ‚΄κ°€ λˆ„λ₯Έ μ’‹μ•„μš”μ™€ μ‹«μ–΄μš”λ₯Ό μ‚­μ œν•˜λŠ” κ²ƒμ—μ„œ 살짝 μ£ΌμΆ€ν–ˆλŠ”λ°

μ²«λ²ˆμ§Έκ°€ νŠΉμ • 값을 μ°Ύμ•„μ„œ $pull을 ν•˜κΈ° 전에 이전에 쑰건? 같은걸 λ„£μ–΄μ•Ό ν•˜λŠ”λ°

μ΄λ•Œ νŠΉλ³„ν•œ 쑰건이 μ—†μ„λ•Œμ—λŠ” μ–΄λ–»κ²Œ 값을 λ„£μ–΄μ•Ό ν•˜λŠ”κ°€μ— λŒ€ν•œ 고민이 μžˆμ—ˆλŠ”λ°

λ‚΄κ°€ 검색해본 κ³³λ“€μ—μ„œλŠ” λŒ€λΆ€λΆ„ μ €κΈ° μ•ˆμ— νŠΉμ • 값이 μžˆμ–΄μ„œ λΉ„μš°λ©΄ μ•ˆλ˜λŠ” 쀄 μ•Œκ³ 

계속 μ°Ύλ‹€κ°€ κ·Έλƒ₯ λΉˆμƒνƒœλ‘œ λ„£μ–΄λ³ΌκΉŒ? ν•˜λ‹€κ°€ 얼떨결에 μ–»μ–΄κ±Έλ Έλ‹€γ…Žγ…Žγ…Žγ…Ž

 

μ›λž˜λŠ” μ•„μ˜ˆ μƒλž΅ν•˜λŠ” 것도 ν•΄λ΄€λŠ”λ° 그건 μ•ˆλ˜λŠ” 것 κ°™κ³ 

νŠΉμ • 쑰건이 μ—†μœΌλ©΄ 빈 객체둜 λ„£μ–΄μ„œ λ‹€μŒ $pull을 μž‘μ„±ν•΄ μ£Όλ©΄ λ˜λŠ”κ²ƒ κ°™λ‹€.

 

그리고 λ‘λ²ˆμ§ΈλŠ” bestWorstν•„λ“œ μ•ˆμ— μžˆλŠ” userInfoλ₯Ό μ°ΎκΈ° μœ„ν•΄μ„œ

bestWorst.$.userInfoλ₯Ό μ²˜μŒμ— μž‘μ„±ν•΄μ„œ μ°Ύμ•„λ³΄μ•˜λŠ”λ° 자꾸 였λ₯˜κ°€ λ°œμƒν•˜λŠ” 것이닀... γ… γ…œ

 

updateλ₯Ό ν• λ•Œμ— $μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•΄ μ€€λ‹€κ³  ν•΄μ„œ μ‚¬μš©ν•΄λ³΄μ•˜κ³ ,

μ €λ²ˆ μ’‹μ•„μš”/μ‹«μ–΄μš” APIλ₯Ό μž‘μ„±ν• λ•Œμ—λ„ μ‚¬μš©ν•΄ μ£Όμ–΄μ„œ 잘 μž‘λ™λ˜κ² μ§€ ν•˜κ³  μ‚¬μš©ν–ˆλŠ”λ° 였λ₯˜κ°€ λ‚˜μ„œ 약간은 λ‹Ήν™©μŠ€λŸ¬μ› λ‹€..γ…Žγ…Ž

 

κ·Έλž˜μ„œ 쒀더 검색을 해보닀가 μœ„μ— μž‘μ„±ν•œ κ²ƒμ²˜λŸΌ 값을 λ„£μ–΄μ€¬λ”λ‹ˆ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆλ‹€....(?)

 

λ¬Έμ„œλ₯Ό 쒀더 ν™•μΈν•΄λ³΄λ‹ˆ $λ₯Ό μ‚¬μš©ν•˜λŠ” μ˜ˆμ‹œμ— μ’‹μ•„μš”/μ‹«μ–΄μš” APIμ—μ„œ μ‚¬μš©ν•œ $set에 λŒ€ν•œ μ˜ˆμ‹œλŠ” μžˆμ—ˆμ§€λ§Œ

$pullμ—λŒ€ν•œ μ˜ˆμ‹œλŠ” 보이지 μ•Šμ•˜κ³ ,

μžμ„Ένžˆ λ³΄λ‹ˆ μ’‹μ•„μš”/μ‹«μ–΄μš” APIμ—μ„œλ„ $pull을 μ‚¬μš©ν•œ 곳이 μžˆμ—ˆλŠ”λ° $μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ•˜λ‹€λŠ” 것을 μ•Œκ²Œ λ˜μ—ˆλ‹€...!

 

이걸 μ΄μ œμ•Ό λ΄€λ‹€λ‹ˆ...

μ •ν™•νžˆ 이거닀! ν•˜λŠ” 닡이 λ‚˜μ˜€μ§€λŠ” μ•Šμ•˜μ§€λ§Œ

일단 $μ—°μ‚°μžλ₯Ό μ“Έ 수 μžˆλŠ”κ±΄ $set이닀? λΌλŠ” μ •λ„λŠ” μ•Œμ•„λ‚Έ 것 κ°™λ‹€.

 

κ·Έλž˜μ„œ 일단은 νšŒμ›νƒˆν‡΄ κ΅¬ν˜„μ„ μ™„μ„±ν•˜μ˜€κ³ .

이후에 λ‘œκ·Έμ•„μ›ƒ APIλ₯Ό κ΅¬ν˜„ν•˜λ €κ³  ν•˜λŠ”λ° μƒκ°ν•΄λ³΄λ‹ˆ μš°λ¦¬λŠ” JWT인증을 μ‚¬μš©ν•  μ˜ˆμ •μ΄μ—ˆκΈ°μ—

λ‘œκ·Έμ•„μ›ƒμ΄ 크게 ν•„μš”ν•˜μ§€ μ•Šμ„ 것 κ°™λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€.

 

κ·ΈλŸ¬λ‹€ μƒκ°ν•΄λ³΄λ‹ˆ 게슀트 λ‘œκ·Έμ•„μ›ƒμ€

ν† ν°λ§Œ μ‚­μ œν•  것이 μ•„λ‹ˆλΌ 데이터도 μ‚­μ œν•΄μ•Όν•œλ‹€λŠ” 생각이 λ“€κ²Œ λ˜μ—ˆκ³ ,

일단 νšŒμ›νƒˆν‡΄μ™€λŠ” μ™„μ „ λ˜‘κ°™μ€ μ½”λ“œμ΄κΈ°λŠ” ν•˜μ§€λ§Œ

도메인이 λ‹€λ₯΄κΈ°λ„ ν•˜κ³  λ‚˜μ€‘μ— ν”„λ‘ νŠΈμ—”λ“œ 뢄듀도 μš”μ²­ν• λ•Œ 보기가 νŽΈν•˜κ² λ‹€ μ‹Άμ–΄μ„œ κ·ΈλŒ€λ‘œ μž‘μ„±ν•˜μ˜€λ‹€.

 

λ‹€ν–‰νžˆ μ£Όλ§κΉŒμ§€ κ΅¬ν˜„ν•΄μ•Όν•  APIλ₯Ό μ™„μ„±ν•˜μ˜€κ³ 

νŒ€μž₯λ‹˜ ν•œν…Œ λ§ν•˜κ³  mergeκΉŒμ§€ μ™„λ£Œν•˜μ˜€λ‹€.

 

내일은 μ›”μš”μΌλΆ€ν„° 진행할 토큰과 multer에 λŒ€ν•΄μ„œ μ’€ μ•Œμ•„λ΄μ•Όκ² λ‹€.

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€