๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (72)

๐Ÿ’ป๐Ÿ’ญ๐ŸŽง๐ŸŒ

[์›น ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ] 3. ์†Œ์…œ ๋กœ๊ทธ์ธ ์œ ์ € ์ •๋ณด์™€ DB ์—ฐ๊ฒฐ

์ด๋ฒˆ์—๋Š” ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ์œผ๋กœ๋ถ€ํ„ฐ ์ œ๊ณต๋ฐ›์€ ์ด๋ฆ„, ์ด๋ฉ”์ผ, ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ์ด๋•Œ ํšŒ์›๊ฐ€์ž…์„ ํ•˜์ง€ ์•Š์€ ๊ตฌ๊ธ€ ๊ณ„์ •์˜ ๊ฒฝ์šฐ, ์„ฑ๋ณ„, ๋‚˜์ด๋Œ€, ์„ฑ๋ณ„/๋‚˜์ด๋Œ€ ๊ณต๊ฐœ ์—ฌ๋ถ€ ํ•„๋“œ๋ฅผ ๋” ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋ฏ€๋กœ ํšŒ์›๊ฐ€์ž… ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด์„œ ๋กœ์ง์„ ๋‘๊ฐœ๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค. ํ˜„์žฌ๊นŒ์ง€ ๊ตฌํ˜„ํ•œ ๋„๋ฉ”์ธ ๊ณ„์ธต๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ด๋ฒˆ์— ์ค‘์ ์ ์œผ๋กœ ๋ณผ ๊ฒƒ์€ `LoginController.java`, `User.java`, `MemberStatusResponse`, `SaveUserRequest.java`, `UserService.java` ์ด๋‹ค. LoginController.java ์˜ requestUserInfo ๋ฉ”์„œ๋“œ ๊ธฐ์กด์— ๋‹จ์ˆœํžˆ ์œ ์ € ์ •๋ณด๋ฅผ ๋กœ๋“œํ–ˆ๋˜ ๋ฐฉ์‹์—์„œ, ํšŒ์› ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ  ๋น„ํšŒ์›์ผ ๊ฒฝ์šฐ ํšŒ์›..

[์›น ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ] 2. ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„

๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๊ตฌํ˜„์€ ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๊ต‰์žฅํžˆ ๋งŽ์ด ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค!!! ๋„ˆ๋ฌด๋„ˆ๋ฌด๋„ˆ๋ฌด๋„ˆ๋ฌด ๋„์›€์ด ๋งŽ์ด ๋์–ด์š” ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค... https://antdev.tistory.com/71 [Google Login API] ์†Œ์…œ ๋กœ๊ทธ์ธ ์š”์ฒญ Redirect ์ฒ˜๋ฆฌ - 2 (Spring Boot ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋ณด๋ฉด์„œ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ตฌ๊ธ€ ์†Œ Spring Boot ํ™˜๊ฒฝ์—์„œ ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ API๋ฅผ REST ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์ด์ „๊ธ€ 2020/10/18 - [OAuth/Google Login API] - [Google Login API] ์†Œ์…œ ๋กœ๊ทธ์ธ ์š”์ฒญ Redirect ์ฒ˜๋ฆฌ (Spring Boot ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋ณด๋ฉด์„œ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ตฌ antdev.tistory.com ๋„๋ฉ”์ธ ๊ณ„์ธต ๊ตฌ์กฐ ๋‚˜ํƒ€๋‚ด๋ ค๊ณ  ๋“œ๋””์–ด tree๋„ ์„ค์น˜ํ•˜์˜€๋‹ค! ์ด๋ฒˆ ์†Œ์…œ ๋กœ๊ทธ..

[์›น ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ] 1. DB ์„ค๊ณ„ ๋ฐ domain ์ฝ”๋“œ ์ž‘์„ฑ

ํ”„๋กœ์ ํŠธ ๊ฐ„๋žต ์†Œ๊ฐœ : ํ•จ๊ป˜ ์šด๋™ ๊ฒฝ๊ธฐ๋ฅผ ํ•  ์ธ์›์„ ๋ชจ์ง‘ํ•˜๋Š” ์„œ๋น„์Šค ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์—…์—์„œ ๋ฐฐ์› ๋˜ ๋‚ด์šฉ๋“ค์„ ๋‹ค์‹œ ๋ณต๊ธฐ์‹œ์ผœ ERD ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ์ˆœํ™˜๊ตฌ์กฐ๊ฐ€ ๋˜๋Š”๊ฑด ์ข‹์ง€ ์•Š๋‹ค๊ณ  ํ•˜๋Š”๋ฐ.. ์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋„ ๋‹ค๋ฅธ ๋ฐฉ์•ˆ์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์•˜๋‹ค. ERD ๋งŒ ๋ดค์„ ๋•Œ USER๊ฐ€ POST์™€ MATCH ๋‘ ์—”ํ‹ฐํ‹ฐ ๋ชจ๋‘์™€ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด ์ด์ƒํ•ด๋ณด์ด๋Š”๋ฐ POST ๋ฅผ ๋“ฑ๋กํ•œ USER ์˜ ๊ฒฝ์šฐ์—๋Š” POST -> MATCH ์™€ ๊ฐ™์ด MATCH ์—”ํ‹ฐํ‹ฐ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋‹จ์ˆœํžˆ ๋“ฑ๋ก๋œ ๋ชจ์ง‘๊ธ€์„ ํ†ตํ•ด MATCH ์— ์ฐธ๊ฐ€ ์‹ ์ฒญ์„ ํ•œ ๊ฒฝ์šฐ์—๋Š” PARTICIPATION -> MATCH ์„ ํ†ตํ•ด ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฟ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿผ ์•„์˜ˆ MATCH๋ฅผ ์—†์• ..? ๊ธฐ์—๋Š” MATCH ์—”ํ‹ฐํ‹ฐ ์ž์ฒด๊ฐ€ ๊ฐ–๋Š” ํ•„๋“œ๋“ค์ด ๋งŽ์•˜๊ธฐ์— ๊ทธ๋ƒฅ ๋”ฐ๋กœ ๋บ๋‹ค. ๊ทธ๋ฆฌ..