Programming/Nest.js

[Nest.js] API 만들어 보기(유저 등록)

리버김 2022. 12. 19. 10:15

구조 설계

Nest.js가 client 요청을 받은 후의 과정

@Controller -> @Service -> Database(Repository)

CLI를 이용해 module, controller, service 생성

*Service: Controller가 사용자가 HTTP 요청을 통해 사용자가 보낸 데이터를 처리하면서 비즈니스 로직을 위임하는 기능. Provider의 하나로, Provider에는 services, repositories, factories, helpers 등이 있다. Provider는 @Injectable() 데코레이터가 달린 클래스인데, Dependency Injection이 가능하도록 한다.

user.module.ts

import { Module } from '@nestjs/common';
import { UserController } from './user.controller';
import { UserService } from './user.service';

@Module({
  controllers: [UserController],
  providers: [UserService],
})
export class UserModule {}

 

Hello World!를 출력하는 API 만들기

user.service.ts

import { Injectable } from '@nestjs/common';

@Injectable()
export class UserService {
  getHelloWorld(): string {
    return 'Hello World!!';
  }
}

user.controller.ts

import { Controller, Get } from '@nestjs/common';
import { UserService } from './user.service';

@Controller('user')
export class UserController {
  constructor(private readonly userService: UserService) {}

  @Get() //경로를 설정하지 않으면 "user/" 경로로 설정이 된다.
  getHelloWorld(): string {
    return this.userService.getHelloWorld();
  }
}