Nest js/Redirect
NestJS redircet
디지털노마드-건물주
2023. 12. 24. 23:06
728x90
NestJS에서 리다이렉트를 어떻게 구현을 할까?
우선 document를 보자
요약 : @Get('memberList') 여기에 요청을 주면 @Redirect('http://localhost:3000/admin/memeberList) 으로 이동한다. 쉬운 이해를 위해 다음의 코드의 예시를 2가지로 설명합니다.
Redirection 방법1: @Redirect
import {
Body,
Controller,
Get,
Param,
Patch,
Query,
Redirect,
Req,
} from '@nestjs/common';
import { Request } from 'express';
import { MemberService } from 'src/member/member.service';
@Controller('admin')
export class AdminController {
constructor(private memberService: MemberService) {
this.memberService = memberService;
}
@Get('/memberList')
@Redirect('http://localhost:3000/admin/members')
memberRedirect(@Req() req: Request) {
const session: any = req.session;
if (session.memberType.memberType != 'admin') {
return { url: 'http://localhost:3000/member/login' };
}
}
@Get('/members')
getMembers() {
return this.memberService.getAllmembers();
}
}
해석: admin/memberList로 Get요청을 주면 admin/members로 이동해서 '회원 전체' 정보를 가져온다.
if 세션에서 멤버 타입을 보니 'admin'이 아니면 member/login으로 이동한다. 유남셍?
Redirection 방법2 : res.redirect( url );
@Controller('member')
export class MemberController {
constructor(private memberService: MemberService) {
this.memberService = memberService;
}
@Get('/login')
loginPage(@Res() res: Response) {
return res.redirect('http://localhost:3000/member/redirect');
}
@Get('/redirect')
redirect() {
return 'redirect';
}
}
*해석: member/login 페이지로 이동하면 member/redirect로 이동한다. 유남셍?
728x90