✨ [Feat]: 사용자 추출 어노테이션 구현, CORS 설정, Swagger 설정 수정 #24
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📍 PR 타입 (하나 이상 선택)
❗️ 관련 이슈 링크
Close #23
📌 개요
🔁 변경 사항
일부 파일 디렉토리 및 이름 수정
0b84796
dd0a0d8
705b945
2cbf92d
유저 추출 어노테이션 추가 << 중요 🔥
유저 추출 어노테이션
AuthUser
를 추가했습니다.이제 따로 서비스에서 User를 찾을 필요 없이 Controller에서 파라미터로 받아오시면 됩니다.
이 때 반드시 Swagger 어노테이션을 이용해 해당 파라미터를 숨겨야 합니다. (숨기지 않으면 문서에서 굉장히 이상하게 표시됨)
이 때, 사용자가 로그인 했다면 적절한 유저 객체가 들어가고,
로그인하지 않으면
null
이 됩니다.동일한 API지만 로그인 여부에 따라 응답을 달리 해야할 경우가 필요할 듯 하여 이렇게 구성하였습니다.
추후 이러한 API 구현할 때 서비스 레이어에서
null
여부 체크해주시면 됩니다.CORS 추가
argument resolver 추가하는 김에 같이 설정했습니다.
설정 클래스는
WebConfig
입니다.Swagger 시큐리티 설정 추가
API 문서에서 바로 Authorization 헤더를 추가할 수 있도록 설정 클래슬를 수정했습니다.
이제 문서 페이지에서 상단 Authorize를 누르고 토큰을 넣어주시면 인증이 필요한 APi에 접근할 수 있습니다.
📸 스크린샷
👀 기타 더 이야기해볼 점
현재 코드 컨벤션 적용이 잘 되고 있지 않는 현상이 발생하고 있습니다.
서버를 시작해야(정확히는 빌드할 때) 코드 포맷팅이 되는 관계로, 반드시 커밋하기 전 서버를 한 번 시작해주세요
✅ 체크 리스트