Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ [Feat]: 사용자 추출 어노테이션 구현, CORS 설정, Swagger 설정 수정 #24

Merged
merged 6 commits into from
Jan 18, 2024

Conversation

eomgerm
Copy link
Collaborator

@eomgerm eomgerm commented Jan 17, 2024

📍 PR 타입 (하나 이상 선택)

  • 기능 추가
  • 버그 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트
  • 기타 사소한 수정

❗️ 관련 이슈 링크

Close #23

📌 개요

  • 일부 파일 디렉토리 및 이름 수정
  • 유저 추출 어노테이션 추가
  • CORS 추가
  • Swagger 시큐리티 설정 추가

🔁 변경 사항

  • 일부 파일 디렉토리 및 이름 수정
    0b84796
    dd0a0d8
    705b945
    2cbf92d

  • 유저 추출 어노테이션 추가 << 중요 🔥
    유저 추출 어노테이션 AuthUser를 추가했습니다.
    이제 따로 서비스에서 User를 찾을 필요 없이 Controller에서 파라미터로 받아오시면 됩니다.
    이 때 반드시 Swagger 어노테이션을 이용해 해당 파라미터를 숨겨야 합니다. (숨기지 않으면 문서에서 굉장히 이상하게 표시됨)

    @Parameter(name = "user", hidden = true)
    public String test(@AuthUser User user) {
    ...
    }

    이 때, 사용자가 로그인 했다면 적절한 유저 객체가 들어가고,
    로그인하지 않으면 null이 됩니다.
    동일한 API지만 로그인 여부에 따라 응답을 달리 해야할 경우가 필요할 듯 하여 이렇게 구성하였습니다.
    추후 이러한 API 구현할 때 서비스 레이어에서 null 여부 체크해주시면 됩니다.

  • CORS 추가
    argument resolver 추가하는 김에 같이 설정했습니다.
    설정 클래스는 WebConfig입니다.

  • Swagger 시큐리티 설정 추가
    API 문서에서 바로 Authorization 헤더를 추가할 수 있도록 설정 클래슬를 수정했습니다.
    이제 문서 페이지에서 상단 Authorize를 누르고 토큰을 넣어주시면 인증이 필요한 APi에 접근할 수 있습니다.

📸 스크린샷

👀 기타 더 이야기해볼 점

현재 코드 컨벤션 적용이 잘 되고 있지 않는 현상이 발생하고 있습니다.
서버를 시작해야(정확히는 빌드할 때) 코드 포맷팅이 되는 관계로, 반드시 커밋하기 전 서버를 한 번 시작해주세요

✅ 체크 리스트

  • PR 템플릿에 맞추어 작성했어요.
  • 변경 내용에 대한 테스트를 진행했어요.
  • 프로그램이 정상적으로 동작해요.
  • PR에 적절한 라벨을 선택했어요.
  • 불필요한 코드는 삭제했어요.

@eomgerm eomgerm added ✨ feature New feature or request ♻️ refactor code refactoring labels Jan 17, 2024
@eomgerm eomgerm self-assigned this Jan 17, 2024
@eomgerm eomgerm changed the title Issue/23 extract user ✨ [Feat]: 사용자 추출 어노테이션 구현, CORS 설정, Swagger 설정 수정 Jan 17, 2024
Copy link
Collaborator

@catturtle123 catturtle123 left a comment

Choose a reason for hiding this comment

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

확인하였습니다!

Copy link
Collaborator

@88dldl 88dldl left a comment

Choose a reason for hiding this comment

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

확인했습니다! 수고하셨어요 👍

@eomgerm eomgerm merged commit d9efca3 into master Jan 18, 2024
@eomgerm eomgerm deleted the issue/23-extract-user branch January 18, 2024 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
♻️ refactor code refactoring ✨ feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ [Feat]: 로그인한 사용자 추출 어노테이션 구현
3 participants