유저 서비스의 인터페이스

최진서·2023년 2월 14일
0

유저 서비스의 인터페이스

기능엔드포인트본문 데이터 예(JSON)쿼리 파라미터패스 파라미터응답
회원가입POST/users{"name":"Dexter","email":"dexter.haan@gmail.com","password": "PASSWORD"}201
이메일 인증POST/users/email-verify{"signupVerifyToken":"임의의문자열"}201 엑세스 토큰
로그인POST/users/login{"email":"dexter.hann@gmail.com","password":"PASSWORD"}201 엑세스 토큰
회원 정보 조회GET/users/:idid:유저 생성시 만들어진 유저 ID,email이 아니라 임의의 문자열200 회원정보

AppController, AppService 삭제

app.module.ts

import { Module } from '@nestjs/common';
import { UserController } from './users/users.controller';

@Module({
  imports: [],
  controllers: [UserController],
})
export class AppModule {}

userController

import { Body, Controller, Get, Param, Post, Query } from '@nestjs/common';
import { CreateUserDto, UserLoginDto, VertifyEmailDto } from './dto/create-user.dto';
import { UserInfo } from './UserInfo';

@Controller('users')
export class UserController {
  @Post()
  async createUser(@Body() dto: CreateUserDto): Promise<void> {
    console.log(dto);
  }
  @Post('/email-verify')
  async vertifyEmail(@Query() dto: VertifyEmailDto): Promise<string> {
    console.log(dto);
    return;
  }
  @Post('/login')
  async login(@Body() dto: UserLoginDto): Promise<string> {
    console.log(dto);
    return;
  }
  @Get('/:id')
  async getUserInfo(@Param('id') userId: string): Promise<UserInfo> {
    console.log(userId);
    return;
  }
}

CreateUserDto

export class CreateUserDto {
  readonly name: string;
  readonly email: string;
  readonly password: string;
}
export class VertifyEmailDto {
  signupVerifyToken: string;
}
export class UserLoginDto {
  email: string;
  password: string;
}

Talend API Tester(Chrom 확장프로그램)




결과는 직접 확인

참고자료

https://wikidocs.net/158475

profile
Frontend developer

0개의 댓글