๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[Nest JS ๋ก CRUD ๊ฒ์ํ ๋ง๋ค๊ธฐ] (21) ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ ์ค๋น ๋ณธ๋ฌธ
๐ฉ๐ป ๋ฐฑ์๋(Back-End)/Nest js
[Nest JS ๋ก CRUD ๊ฒ์ํ ๋ง๋ค๊ธฐ] (21) ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ ์ค๋น
์ง์ง์ํ์นด 2023. 6. 7. 19:59728x90
๋ฐ์ํ
<๋ณธ ๋ธ๋ก๊ทธ๋ John Ahn ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
=> ๋ฐ๋ผํ๋ฉด์ ๋ฐฐ์ฐ๋ NestJS
๐งธ ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ ์ค๋น
๐CLS ๋ฅผ ์ด์ฉํ ๋ชจ๋, ์ปจํธ๋กค๋ฌ, ์๋น์ค ์์ฑ
// auth ๋ชจ๋ ์์ฑ
nest g module auth
// auth ์ปจํธ๋กค๋ฌ ์์ฑ
nest g controller auth --no-spec
// auth ์๋น์ค ์์ฑ
nest g service auth --no-spec
๐งธ User๋ฅผ ์ํ Entity ์์ฑ
์ ์ ์ ๋ํ ์ธ์ฆ์ ํด์ผํ๋ฏ๋ก, ์ ์ ๊ฐ ํ์ํจ
์ ์ ๋ฐ์ดํฐ๋ฅผ ์ํ ์ ์ Entity ์์ฑํ๊ธฐ
๐ user.entity.ts
import { BaseEntity, Column, PrimaryColumn, PrimaryGeneratedColumn } from "typeorm";
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column()
username: string;
@Column()
password: string;
}
๐งธ User๋ฅผ ์ํ Repository ์์ฑ
User Entity๋ฅผ ์์ฑ, ์์ , ์ญ์ ๋ฑ์ ๋ก์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ํด Repository ์์ฑํ๊ธฐ
๐ user.repository.ts
import { EntityRepository, Repository } from "typeorm";
import { User } from "./user.entity";
@EntityRepository(User)
export class UserRepository extends Repository<User> {
}
๐งธ Repository Injection
User Repository ๋ฅผ auth Service ์์์ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ ์ ๋ฆฌํฌ์งํฐ๋ฆฌ์ ๋ฃ๊ธฐ
๐ auth.service.ts
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { UserRepository } from './user.repository';
@Injectable()
export class AuthService {
constructor(
@InjectRepository(UserRepository)
private userRepository: UserRepository,
) {}
}
728x90
๋ฐ์ํ
'๐ฉโ๐ป ๋ฐฑ์๋(Back-End) > Nest js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments