1. ๋ฌธ์ ์ํฉ
์ค์ ์ด์ํด์ผ ํ๋ ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ธ ์ด์๋ค์ ๊ณ์ ์๊ฐํ๊ณ ์์ ํด ๋๊ฐ๊ณ ์๋ค.
๊ธฐ์กด์๋ ์๋ฅผ ๋ค์ด ๋ง์ดํ์ด์ง ์ ๋ณด๋ฅผ ์ป์ด์ค๋ Rest API๋ฅผ /api/members/{memberId} ๋ผ๊ณ ์ค๊ณํ๊ณ ๊ตฌํํ๋ค.
ํ์ง๋ง Https ํ๋กํ ์ฝ์ ์ ์ฉํ๋๋ผ๋ path variable ๋๋ query parameter๋ก ๋ฐ๋ ๋ฐ์ดํฐ๋ URI์ ํฌํจ๋์ด ์ํธํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ผ๋ก ์ข์ง ์์๋ฟ๋๋ฌ
Jwt token ์ธ์ฆ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํ ํฐ์ ์ฌ์ฉ์ ์๋ณ์ ๋ณด๊ฐ ๋ค์ด์๋๋ฐ ๊ตณ์ด ํด๋ผ์ด์ธํธํํ
๋ค์ ๋ณธ์ธ์ ๋ํ ํค๋ฅผ ๋ฐ์ ํ์๊ฐ ์๋ค๊ณ ์๊ฐ์ ํ๋ค.
2. ๋ฌธ์ ํด๊ฒฐ
โ๏ธ HttpServeletRequest๋ฅผ ์ฌ์ฉํ์
HttpServletRequest๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์์ Http ์์ฒญ์ header ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
์ด๋ฅผ ์ด์ฉํด Authorization ํค๋๋ฅผ ํตํด ๋ฐ์ Access Token์ ํตํด ์ฌ์ฉ์ ์๋ณ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค.
@GetMapping("api/v1/members")
public SuccessResponse<MemberInfoRes> getMemberProfile(HttpServletRequest request) {
String resolvedToken = jwtTokenProvider.resolveToken(request.getHeader(AUTHORIZATION_HEADER));
MemberInfoRes memberInfo = memberSearchService.searchMyPageInfo(
Long.parseLong(jwtTokenProvider.getSubject(resolvedToken)));
return new SuccessResponse<>(MYPAGE_SEARCH_SUCCESS, memberInfo);
}
ํด๋น ์ฝ๋๋ ์์์ด๋ฉฐ ์์ ๊ฐ์ด ๊ตฌํํ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๊ฐ์ ธ์๋ค.
'๐จโ๐ฉโ๐งโ๐ฆ Project > ๐บ KIOSEK' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
1. ๋ฌธ์ ์ํฉ
์ค์ ์ด์ํด์ผ ํ๋ ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ธ ์ด์๋ค์ ๊ณ์ ์๊ฐํ๊ณ ์์ ํด ๋๊ฐ๊ณ ์๋ค.
๊ธฐ์กด์๋ ์๋ฅผ ๋ค์ด ๋ง์ดํ์ด์ง ์ ๋ณด๋ฅผ ์ป์ด์ค๋ Rest API๋ฅผ /api/members/{memberId} ๋ผ๊ณ ์ค๊ณํ๊ณ ๊ตฌํํ๋ค.
ํ์ง๋ง Https ํ๋กํ ์ฝ์ ์ ์ฉํ๋๋ผ๋ path variable ๋๋ query parameter๋ก ๋ฐ๋ ๋ฐ์ดํฐ๋ URI์ ํฌํจ๋์ด ์ํธํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ผ๋ก ์ข์ง ์์๋ฟ๋๋ฌ
Jwt token ์ธ์ฆ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํ ํฐ์ ์ฌ์ฉ์ ์๋ณ์ ๋ณด๊ฐ ๋ค์ด์๋๋ฐ ๊ตณ์ด ํด๋ผ์ด์ธํธํํ
๋ค์ ๋ณธ์ธ์ ๋ํ ํค๋ฅผ ๋ฐ์ ํ์๊ฐ ์๋ค๊ณ ์๊ฐ์ ํ๋ค.
2. ๋ฌธ์ ํด๊ฒฐ
โ๏ธ HttpServeletRequest๋ฅผ ์ฌ์ฉํ์
HttpServletRequest๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์์ Http ์์ฒญ์ header ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
์ด๋ฅผ ์ด์ฉํด Authorization ํค๋๋ฅผ ํตํด ๋ฐ์ Access Token์ ํตํด ์ฌ์ฉ์ ์๋ณ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค.
@GetMapping("api/v1/members")
public SuccessResponse<MemberInfoRes> getMemberProfile(HttpServletRequest request) {
String resolvedToken = jwtTokenProvider.resolveToken(request.getHeader(AUTHORIZATION_HEADER));
MemberInfoRes memberInfo = memberSearchService.searchMyPageInfo(
Long.parseLong(jwtTokenProvider.getSubject(resolvedToken)));
return new SuccessResponse<>(MYPAGE_SEARCH_SUCCESS, memberInfo);
}
ํด๋น ์ฝ๋๋ ์์์ด๋ฉฐ ์์ ๊ฐ์ด ๊ตฌํํ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๊ฐ์ ธ์๋ค.