[MEMO APP] Back-end/ REST API-Register (3)
๐จ๐ป REST API (3)
๐ LocalRegister Controller(3)
์ง๋ ํฌ์คํ ์์๋ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์ ๋ฐ์ดํฐ๊ฐ ์๋ง์ ํ์์ธ์ง Validate(ํ์ธ)ํ๊ณ ๊ทธ ๋ค์ ํน์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋๋ก ์ ํ ํด์ฃผ์์ต๋๋ค.
์ค๋์ ์ฐ๋ฆฌ๊ฐ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ DB(MongoDB)์ ์ ์ฅ์ ํด์ฃผ๋๋ก ํด๋ณผ๊ฒ์!
(๋๋์ด.. ๋ชจ๋ธ์ ์ฌ์ฉํด๋ณด๋๊ตฐ์)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ์์ ์ ํ ๋๋ ๊ทธ์๋ํ ์ค๋ฅ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ํฌ๋ try catch ๋ธ๋ก ์์์ ์์ ์ ํด์ฃผ๋๋ก ํ ๊บผ์์.
์ฐ๋ฆฌ๊ฐ try ๋ธ๋ก์์ ์ ์ผ๋จผ์ ํด์ฃผ๊ณ ์ถ์๊ฒ์ ์ ์ ๊ฐ ๋ณด๋ธ displayName๊ณผ email์ด ์ด๋ฏธ ์กด์ฌํ๋ ์ ๋ณด์ธ์ง ํ์ธํ๋๊ฒ์ ๋๋ค.
์ด๋ฌํ DB์ ์ง์ ์ ๊ทผํด์ ํ๋ ์์ ๋ค์ auth.ctrl.js์์๋ ์์ ์ด ๊ฐ๋ฅํ์ง๋ง, ๊ฐ๋ฅํ model ํ์ผ ์ฆ User.js์์ ์ฒ๋ฆฌํด์ฃผ๋๊ฒ์ด ์ข์ต๋๋ค.
๊ทธ๋ฐ์ด์ ๋ก User.js๋ฅผ ์ด์ด 3๊ฐ์ง์ ํจ์๋ฅผ ๋ง๋ค์ด ๋ด๋ณด๋ด์ค๊บผ์์.
๋์ค์ ID/PW๋ฅผ ์ฐพ๊ธฐ์ํ ๋๊ฐ์ ๋ฉ์๋์ DisplayName ๊ณผ Email์ ๋์์ ๊ฒ์ฆ์ ํด์ฃผ๋ ๋ฉ์๋ ํ๋๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค.
(Model์์๋ statics๋ผ๋ ๋ฉ์๋๋ฅผ ํตํด ์ฌ์ฉ์ ์ง์ ํจ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.)
๋ง๋ค์์ผ๋ ์ฌ์ฉํด๋ด์ผ๊ฒ ์ฃ ? findExistancy ํจ์๋ฅผ ์ฐ๋ฆฌ๊ฐ ๋ง๋ auth.ctrl.js์ try ๋ธ๋ก์์ ์ฌ์ฉํด ๋ณผ๊ฒ์.
์ด๋ ๊ฒ ํด์ฃผ๋ฉด ์ค๋ณต๊ฒ์ฌ๊ฐ ์ ์๋ํ๊ฒ ๋ฉ๋๋ค.
์ค๋ณต๊ฒ์ฌ๊น์ง ํ์ผ๋ ์ค์ง์ ์ผ๋ก DB์ ์ ์ฅ์ ํด์ฃผ์ด์ผ๊ฒ ์ฃ ?
์ด๋ฒ์๋ DB์ ์ ์ฅ์ ํด์ฃผ๋ ๋ฉ์๋๋ฅผ User.js์ ์์ฑํด ์ฃผ๊ฒ ์ต๋๋ค.
๋ง๋ค์์ผ๋ ์ด ํจ์๋ auth.ctrl.js์์ ์ฌ์ฉํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด๋ ๊ฒ ํด์ฃผ๋ฉด DB์ ํ์๋ฑ๋ก๊ณผ ๋์์ ์ด์ ๋ํ ์ ๋ณด๋ฅผ ์๋ต์ผ๋ก ๋ณด๋ด์ฃผ๊ฒ ๋์ด์ง๋๋ค. ํ๋ฒ ์ ์๋ํ๋์ง ํฌ์คํธ๋งจ์ผ๋ก ํ์ธ์ ํด๋ณผ๊ฒ์.
์๋ ์ฌ์ง ๋ฐ์ดํฐ๋ก ์ ์ก์ํ๋ ์ฌ์ง ํ๋จ์ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ฐํ๋๊ฒ์ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ฒ์๋ DB์๋ ์ ์์ฑ๋์๋์ง ํ์ธํด ๋ณผ๊ป๋ฐ์, ์ด๋ฅผ ํ์ธํ๊ธฐ์ํด MongoDB ์ค์น์ ๊ฐ์ด ๋ฐ์ Compass๋ผ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
Compass๋ฅผ ์ด๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ๋์ค๋๋ฐ์, ์ ๋ ์ฌ๋ฌ ํ์ ์ํตํด ์ฌ๋ฌDB๊ฐ ์์ฑ๋์์ง๋ง ์ฒ์ ์ฌ์ฉํ์๋ ๋ถ์ memo๋ง ์์๊บผ์์.
์ด memo๋ฅผ ํด๋ฆญํด์ฃผ๋ฉด, ๋ค์์ฒ๋ผ users ํ ์ด๋ธ์ด ๋ณด์ผ๊ฒ๋๋ค.
usersํ ์ด๋ธ์ ํด๋ฆญํ๋ฉด ์ฐ๋ฆฌ๊ฐ ๋ฐฉ๊ธ ์์ฑํ User ์ ๋ณด๊ฐ ์์ต๋๋ค.
์์ฃผ ์ ์์ฑ๋๊ฑธ ๋ณด์ค ์ ์์ต๋๋ค. ์กฐ๊ธ ์์ฌ์ด์ ์ ๋น๋ฐ๋ฒํธ๊ฐ ์ํธํ ๋์ด์ ์ ์ฅ์ด ์ด๋ฃจ์ด์ง์ง ์์๋ค๋ ๊ฒ์ธ๋ฐ์, ์ด๋ ๋์ค์ ์๊ฐ์ ์ฌ์ ๊ฐ ๋ ๋ ์ฒ๋ฆฌํด ์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
์ผ๋จ ์ด๋ฒํฌ์คํ ์ ์ฌ๊ธฐ๊น์ง ์ ๋๋ค. ๋ค์ ํฌ์คํ ์์๋ ํ์๊ฐ์ ์ด ์ด๋ฃจ์ด์ก์ผ๋ ์๋์ผ๋ก ์ธ์ ์ ๋ง๋ค์ด ๋ก๊ทธ์ธ์ด ์ด๋ฃจ์ด์ง๊ณ ๊ทธ ๋ก๊ทธ์ธ์ด ์ ์ง๋ ์ ์๋๋ก ์ฒ๋ฆฌํด ์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ทธ๋ผ ๋ค์ ํฌ์คํ ์์ ๋ต์ ^^