Part3-Team15 / taskify

[쀑급 ν”„λ‘œμ νŠΈ 15νŒ€] taskify: μŠ€λ§ˆνŠΈν•œ 일정 관리
https://taskify-15.vercel.app/
1 stars 3 forks source link

πŸ› Bug: API κ΄€λ ¨ κΈ°λŠ₯ μˆ˜μ • λͺ¨μŒ #168

Closed un0211 closed 2 months ago

un0211 commented 2 months ago

πŸ› 버그 μ„€λͺ…

API κ΄€λ ¨ν•΄μ„œ μˆ˜μ •ν•΄μ•Όν•  κΈ°λŠ₯듀을 λͺ¨μ•„ 놓고 ν•΄κ²°ν•©μ‹œλ‹€!

API κΆŒν•œ κ΄€λ ¨ μˆ˜μ •

λͺ…μ‹œλ˜μ–΄ μžˆμ—ˆλŠ”μ§€λŠ” λͺ¨λ₯΄μ§€λ§Œ, λŒ€μ‹œλ³΄λ“œ μˆ˜μ •μ— μžˆλŠ” λͺ¨λ“  μž‘μ—…μ€ λŒ€μ‹œλ³΄λ“œ μƒμ„±μžλ§Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (λŒ€μ‹œλ³΄λ“œ μˆ˜μ •, 멀버 μ‚­μ œ, μ΄ˆλŒ€λ‚΄μ—­ 쑰회, μ΄ˆλŒ€) μ•„μ˜ˆ 관리/μ΄ˆλŒ€ λ²„νŠΌ 자체λ₯Ό ownerμΌλ•Œλ§Œ λ„μš°λŠ” 게 μ’‹κ² μŠ΅λ‹ˆλ‹€.

image

상황

image image

νšŒμ›κ°€μž… λ‹‰λ„€μž„ 10자 μ œν•œ

μ„œλ²„μ—μ„œ λ‹‰λ„€μž„ 10자 μ œν•œμ΄ κ±Έλ € μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬κ°€ λ‚΄λΆ€μ μœΌλ‘œ 미리 10자 이내인지 κ²€μ‚¬ν•œλ‹€λ©΄ μ„œλ²„μ— μš”μ²­ν•˜λŠ” λΉ„μš©μ„ μ•„λ‚„ 수 μžˆμŠ΅λ‹ˆλ‹€.

상황

image

μ½”λ©˜νŠΈ

이외에도 κΆŒν•œ κ΄€λ ¨ 문제 λ°œκ²¬ν•˜λ©΄ λ‹€λ“€ λŒ“κΈ€ λΆ€νƒλ“œλ €μš”~~

API μ—λŸ¬ λ©”μ‹œμ§€ λ³΄μ—¬μ£ΌλŠ” 문ꡬ/λ””μžμΈ κ°œμ„ 

un0211 commented 2 months ago

λ°©κΈˆμ „μ— λŒ€μ–‘λ‹˜μ΄ λ§μ”€ν•˜μ…¨λ˜ κ²ƒμ²˜λŸΌ, API μ—λŸ¬λ‚¬μ„ λ•Œ 메세지 λ³΄μ—¬μ£ΌλŠ” 방식도 더 이야기해야 ν•˜λŠ”λ°, 이 μ΄μŠˆμ—μ„œ ν•©μ‹œλ‹€~~

un0211 commented 2 months ago

λͺ¨λ“  API 곡톡일 μˆ˜λ„ μžˆλŠ”λ°, PUT의 경우 try catch둜 μ—λŸ¬ 핸듀링 ν–ˆμ„λ•Œ, μ „ν˜€ ν•Έλ“€λ§λ˜μ§€ μ•Šκ³  μ—λŸ¬ 창이 λœΉλ‹ˆλ‹€! react query의 onErrorμ—μ„œ 핸듀링 ν•΄μ£Όλ©΄ 잘 λ˜μ–΄μ„œ useDeleteData, useUpdate... 같은 훅듀을 λ§Œλ“€μ—ˆλ”λ‹ˆ 잘 λμŠ΅λ‹ˆλ‹€. 아직 κ·Έλƒ₯ try catch 인 게 μ’€ μžˆμ–΄μ„œ 좔후에 μ•Œμ•„λ³΄κ³  μˆ˜μ •ν•΄μ•Ό ν•  것 κ°™μ•„μš”1

wayandway commented 2 months ago

λͺ¨λ“  API 곡톡일 μˆ˜λ„ μžˆλŠ”λ°, PUT의 경우 try catch둜 μ—λŸ¬ 핸듀링 ν–ˆμ„λ•Œ, μ „ν˜€ ν•Έλ“€λ§λ˜μ§€ μ•Šκ³  μ—λŸ¬ 창이 λœΉλ‹ˆλ‹€! react query의 onErrorμ—μ„œ 핸듀링 ν•΄μ£Όλ©΄ 잘 λ˜μ–΄μ„œ useDeleteData, useUpdate... 같은 훅듀을 λ§Œλ“€μ—ˆλ”λ‹ˆ 잘 λμŠ΅λ‹ˆλ‹€. 아직 κ·Έλƒ₯ try catch 인 게 μ’€ μžˆμ–΄μ„œ 좔후에 μ•Œμ•„λ³΄κ³  μˆ˜μ •ν•΄μ•Ό ν•  것 κ°™μ•„μš”1

ν˜œμ›λ‹˜ ν˜Ήμ‹œ Tanstack Query둜 κ΅¬ν˜„ν•˜μ‹  κ±΄κ°€μš”??

un0211 commented 2 months ago

μ œκ°€ κ΅¬ν˜„ν•œ hook듀은 Tanstack Query둜 κ΅¬ν˜„ν–ˆκ³ , μ•ˆλœλ‹€κ³  ν•˜λŠ” 것듀은 κ·Έλƒ₯ putService.ts 에 μžˆλŠ” κ±Έ λ°”λ‘œ μ“°λŠ” κ²½μš°μž…λ‹ˆλ‹€! κ·Έλƒ₯ try catch 써도 잘 λ˜λ‚˜μš”?!!

 try {
      const { id } = await postNewDashboard(value);
      if (isPublic) {
        addShareAccount(id);
      }

      queryClient.invalidateQueries({ queryKey: ['sideDashboards'] });
      queryClient.invalidateQueries({ queryKey: ['dashboards'] });
      openNotificationModal({ text: 'μƒˆλ‘œμš΄ λŒ€μ‹œλ³΄λ“œκ°€ μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€!' });
      router.push(`/dashboard/${id}`);
    } catch (error) {
      if (error instanceof AxiosError) {
        setErrorMessage(error.response?.data.message || 'λŒ€μ‹œλ³΄λ“œ 생성을 μ‹€νŒ¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€');
      } else {
        setErrorMessage('λŒ€μ‹œλ³΄λ“œ 생성을 μ‹€νŒ¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€');
      }
    }
  };

μ—¬κΈ°μ„œ addShareAccount μ•ˆμ— put이 μžˆλŠ”λ° κ·Έ put이 였λ₯˜λ‚¬μ„ λ•Œ μ—λŸ¬ν•Έλ“€λ§ μ•ˆλμŠ΅λ‹ˆλ‹€!

wayandway commented 2 months ago

ν˜œμ›λ‹˜ console.log둜 error 객체 좜λ ₯해도 μ•„μ˜ˆ μ•ˆλ‚˜μ˜€λ‚˜μš”??

μ €λŠ” 일단 λŒ“κΈ€μˆ˜μ •μ—μ„œ μ—λŸ¬ μ²˜λ¦¬λŠ” μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜λŠ” κ±° ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€!

try {
      await postComment(commentData);
      queryClient.invalidateQueries({ queryKey: ['comments'] });
      setNewComment('');
    } catch (error) {
      console.error('λŒ“κΈ€ μΆ”κ°€ 쀑 μ—λŸ¬ λ°œμƒ:', error);
      setNewComment('μ—λŸ¬ λ°œμƒ');
    }

image

un0211 commented 2 months ago

그런 μ²˜λ¦¬λŠ” λ˜λŠ”μ§€ 확인 μ•ˆν•΄λ΄€λŠ”λ°, μš°μ„  νŽ˜μ΄μ§€μ— μ—„μ²­ 큰 μ—λŸ¬κ°€ λ– μ„œμš”!!

image
wayandway commented 2 months ago

develop λΈŒλžœμΉ˜μ—μ„œ ν™•μΈν•˜λ©΄ λ κΉŒμš”?! 저도 λ‹€μ‹œ νŒ¨μΉ˜λ°›μ•„μ„œ ν™•μΈν• κ²Œμš”!!

un0211 commented 2 months ago

이건 μ œκ°€ μž‘μ—… 쀑에 κΆŒν•œ μ—†λŠ” put μš”μ²­μ„ ν•΄μ„œ 그런데, μ‹€μ œ μ˜ˆμ‹œλŠ” μ œκ°€ μ§€κΈˆ λ°”λ‘œ λͺ»μ°Ύκ² κ³ , μ œκ°€ λ§Œλ“€μ–΄λ†“μ€ useDelete/useUpdate ... 훅을 μ‚¬μš©ν•˜μ§€ μ•Šκ³  try catch둜 ν•˜κ²Œλ” λ°”κΏ”λ³΄μ‹œλ©΄ λΉ„μŠ·ν•œ μ—λŸ¬ λ°œκ²¬ν•˜μ‹€ 수 μžˆμ„ 것 κ°™μ•„μš”..! μ œκ°€ λ‚˜μ€‘μ— μ—λŸ¬ 상황 μžˆλŠ” 브랜치 λ§Œλ“€μ–΄λ‘˜κΉŒμš”...?

μš”μ•½

wayandway commented 2 months ago

이건 μ œκ°€ μž‘μ—… 쀑에 κΆŒν•œ μ—†λŠ” put μš”μ²­μ„ ν•΄μ„œ 그런데, μ‹€μ œ μ˜ˆμ‹œλŠ” μ œκ°€ μ§€κΈˆ λ°”λ‘œ λͺ»μ°Ύκ² κ³ , μ œκ°€ λ§Œλ“€μ–΄λ†“μ€ useDelete/useUpdate ... 훅을 μ‚¬μš©ν•˜μ§€ μ•Šκ³  try catch둜 ν•˜κ²Œλ” λ°”κΏ”λ³΄μ‹œλ©΄ λΉ„μŠ·ν•œ μ—λŸ¬ λ°œκ²¬ν•˜μ‹€ 수 μžˆμ„ 것 κ°™μ•„μš”..! μ œκ°€ λ‚˜μ€‘μ— μ—λŸ¬ 상황 μžˆλŠ” 브랜치 λ§Œλ“€μ–΄λ‘˜κΉŒμš”...?

μš”μ•½

  • tanstack queryμ—μ„œ useQuery, useMutation의 onError둜 μ²˜λ¦¬ν•˜μ§€ μ•ŠλŠ” 이상 μ—λŸ¬ 핸듀링이 μ œλŒ€λ‘œ μ•ˆλ˜λŠ” 것 κ°™λ‹€. (μ—λŸ¬ν™”λ©΄ 뜸)
  • μ§€κΈˆ λ‹Ήμž₯ μ—λŸ¬ 상황은 μ—†μ§€λ§Œ, useMutationν›… μ‚¬μš©ν•˜λ˜ 것듀을 κ·Έλƒ₯ putService/deleteService(/μ•„λ§ˆλ„ post&getService)의 ν•¨μˆ˜λ‘œ μš”μ²­ν•˜λ„λ‘ λ°”κΎΈλ©΄ try catch둜 μ—λŸ¬ 핸듀링 ν•΄λ΄€μž μ•ˆλ˜λŠ” 상황 λ§Œλ“€ 수 μžˆμ„ 것 κ°™λ‹€.

λ„΅ μ’‹μ•„μš”!! μ—λŸ¬ μžˆλŠ” 브랜치 μ˜¬λ €μ£Όμ‹œλ©΄ 저도 같이 ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€! 이따 νŒ€λ―ΈνŒ… μ‹œκ°„ λ•Œ μ–˜κΈ°ν•΄λ³΄μ£  γ…Žγ…Ž!!

wjsdncl commented 2 months ago

λŒ€μ‹œλ³΄λ“œ μ•Œλ¦Ό κΈ°λŠ₯이 λΉ„λ‘œκ·ΈμΈ μƒνƒœμ—¬λ„ κ²Œμ† λ™μž‘ν•©λ‹ˆλ‹€ image

un0211 commented 2 months ago