2022. 4. 12. 00:02ใProgramming Project ์์ ์ค/๋ด์ฉ ์ ๋ฆฌ
Project Git Hub
๐ ๋ชฉ์ฐจ
โ [BackEnd][Node.js][Nest.js] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ํ์ ๊ฐ์
โ [BackEnd][Node.js][Nest.js] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - JWT๋ฅผ ์ด์ฉํ Login
โ [BackEnd][Node.js][Nest.js] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - Custom Decorator
๐ ๋ถ๋ก
โ [Node.js] Node.js ๊ธฐ์ด
โ [JavaScript] ๊ธฐ๋ณธ ๋ฌธ๋ฒ
โ [BackEnd][Node.js] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ์ด๊ธฐ ๊ตฌ์ฑ
โ [BackEnd][Node.js] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ์ด๊ธฐ ๊ตฌ์ฑ : DB ์ฐ๊ฒฐ
โ [BackEnd][Node.js] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - ์ด๊ธฐ ๊ตฌ์ฑ : DB ์ฐ๊ฒฐ(Sequelize)
โ [Web] URL์ ์ดํด
โ [Spring] Spring์ด๋?
โ[Node.js][Nest.js] ์ ํจ์ฑ ๊ฒ์ฌ์ Data ํ์ ๋ณํํ๊ธฐ - Pipe
โ[Node.js][Nest.js] Configuration (์ค์ )
โ[Node.js][Nest.js]TypeORM
โ [Node.js][Nest.js] Logger ๊ธฐ๋ฅ
โ[JavaScript] Promise์ async ๊ทธ๋ฆฌ๊ณ await
โ [Nest.js] API ์ค๊ณ - ์์ฒญ, ์๋ต ๊ฐ์ฒด (Request, Response Object)
โ [์ ๋ณด๋ณด์] JWT(JSON Web Token) ์ด๋?
โ [Nest.js] Middle Ware(๋ฏธ๋ค์จ์ด)
๐ค ๋ด๊ฐ ๋ง๋ Error
โ [Node.js][Error] Cannot find module '.dotenv'
๐ Custom Decorator
์ต์ด ์ฃผ๋ํ๋์ ์์ ๊ฐ์ด Custom Decorator๋ฅผ ์ด์ฉํ๊ธฐ ์ํ `GetUser`๋ฅผ ๋ง๋ค์ด ์ค ๊ฒ์ด์์.
`createParamDecorator`์์๋ `ctx`๊ฐ ์๋๋ฐ, ๋ฐ๋ก `context(์์์ฑ)`์ ์ค์๋ง์ธ ๊ฒ์ด์์.
23๋ฒ์งธ ์ค์ `ctx`์์ `switchToHtt()`์์ `getRequest()`๋ Client `Request`์ ๋ํ ๋ชจ๋ ๋ด์ฉ์ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ์ ํ๋ ๊ฒ์ด์์.
์ด ์ ๋ณด๋ฅผ ์์ํ ๋ณ์ `request`์ ๋ฃ์ด์ฃผ๊ณ , ๊ทธ ์์ ์๋ `user` ์ ๋ณด์ ๋ํ ๊ฒ๋ง ๋ฐ๋ก ๋ฐํ ํด ์ฃผ๋๋ก ํด ์ค ๊ฒ์ด์์.
126๋ฒ์งธ ์ค์ ๊ธฐ์กด์ ์์๋ `@Req() req`๋ฅผ ์ง์์ฃผ๊ณ , ์์ ๊ฐ์ด ์์ ์ ํด ์ค ๊ฒ์ด์์.
`user.object.mng.decorator.ts`์์ ์ฃผ๋ํ๋์ `createParamDecorator()`๋ฅผ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ ํด๋น Decorator๋ ๋งค๊ฐ ๋ณ์ ์ ๋ ฅ๋์๋ค๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ์ด์์.
๐ฝ ๊ฒฐ๊ณผ
๐ฆ POSTMAN
Login์ ํตํด Server๊ฐ ์ ๋ฌํด ์ค JWT๋ฅผ ๋ฃ์ด `Request`๋ฅผ ๋ค์ ๋ณด๋ด ๋ณผ ๊ฒ์ด์์.
์์ ๊ฐ์ด ์ ์์ ์ผ๋ก ์ด์ฉ ๊ฐ๋ฅํ ๊ฒ์ ํ์ธํ ์ ์๋ ๊ฒ์ด์์.
์ด์ ๊ธ : [BackEnd][Node.js][Nest.js] ์ฌ๋ด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์๋น์ค - Passport, JWT๋ฅผ ์ด์ฉํ ์ธ๊ฐ ์ฒ๋ฆฌ