Skip to content

Conversation

@leeeyubin
Copy link
Member

⛳️ Work Description

  • 429 상태 코드 대응

제가 이번에 429 상태 코드 대응을 하면서 인터셉터에서 토스트를 띄운 후, 로그인을 다시 유도하는 로직을 작성했는데요!
이렇게 생각하게 된 이유는 다음과 같습니다.

1. 유효하지 않은 토큰을 무한 요청하는 경우는 언제인가? 
- 안드가 개발 초기에 자동로그인으로 들어간 홈화면에서 서버통신을 했을 때
- 스플래쉬 -> 홈 -> 스플래쉬 -> 홈
 이라는 무한 굴레에 빠지게 된 경우 밖에 없었던 것 같음 (토큰이 안정적이지 않았기 때문으로 추측됨) 

2. 그럼 서버에서 요청해줬던 로그인 버튼 비활성화 대응은 마땅한가?
- 로그인 화면은 토큰이 없어야 진입이 가능하기 때문에 로그인 단에서 무한굴레에 빠지지 않을 것 같다는 생각
- 따라서 로그인 버튼을 비활성화 하는 것으로는 무한 요청을 막는데 영향을 주지 않겠다는 판단이 들었음

3. 그럼 과도한 서버통신 요청을  하는 경우는 언제인가?
- 진짜 알 수 없는 비정상적인 경우
- 혹은 사용자가 1분에 공고 10개를 스크랩한다던지와 같은 경우
- 이를 우려해  사용자가 쉽게 서버통신을 요청할 수 있는 알림 토글의 경우 이미 안드는 사전에 막아놓음
- 그래서 일단 과도한 서버통신을 요청하는 경우는 비정상적인 경우로 간주하고 토스트로 사용자에게 노티후 로그인부터 다시 하게 유도하는 방법 고안

📢 To Reviewers

  • 영광의 400번대 이슈입니다🍀🍀
  • 추가로 리팩토링 작업 마일스톤 생성했어요!

@leeeyubin leeeyubin added this to the 리팩토링 작업 milestone Jun 18, 2025
@leeeyubin leeeyubin self-assigned this Jun 18, 2025
@leeeyubin leeeyubin added FEAT ✨ 새로운 기능 구현 유빈💙 유빈 labels Jun 18, 2025
Copy link
Member

@boiledeggg boiledeggg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

잘 판단했을거라 믿습니다! 굳굳👍

Comment on lines 84 to +87
private const val CODE_TOKEN_EXPIRED = 401
private const val TOKEN_EXPIRED_ERROR = "토큰이 만료되었어요\n다시 로그인 해주세요"
private const val CODE_MANY_REQUESTS = 429
private const val MESSAGE_TOKEN_EXPIRED = "토큰이 만료되었어요\n다시 로그인 해주세요"
private const val MESSAGE_TOO_MANY_REQUESTS = "요청 횟수가 너무 많아요\n로그인 후 다시 시도해 주세요"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

나중에 enum으로 관리하도록 수정하면 좋을 것 같아요!

Copy link
Member

@Hyobeen-Park Hyobeen-Park left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

어푸푸🚀🚀🚀

@leeeyubin leeeyubin merged commit fa29ccd into develop Jun 19, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FEAT ✨ 새로운 기능 구현 유빈💙 유빈

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 429 상태 코드 대응

4 participants