Controller에 해당하는 글 2

NestJS Controller

NestJS|2021. 11. 17. 08:05

Spring과 거의 비슷

 

import { Controller, Get, Render, Param, Query } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }

  @Get("html")
  @Render('index')
  getHbs(){
    return { message: 'messageBinding' };
  }

  @Get(':id')
  findOne(@Param('id') id: string, @Query('getParam') getParam): string {
    
    console.log('getParam : ${getParam}')
    console.log("getParam : ${getParam}")
    console.log(`getParam : ${getParam}`)
    return `This action returns a #${id} cat`;
  }
}

 

Spring Next.js  
@{HttpMethod}Mapping @{HttpMethod}() @GetMapping -> @Get()
@PathVariable @Param()  
@RequestParam @Query()  
@RequestBody @Body() DTO로 바인딩도 가능
@ResponseEntity @Res() res 아래와 같은 방식으로 response 응답 정의 가능
res.status(HttpStatus.OK).json()

 

 

 

'NestJS' 카테고리의 다른 글

NestJS 시작  (0) 2021.10.21

댓글()

@ModelAttribute, Controller 메소드에 붙였을때

JAVA/Spring|2019. 5. 20. 18:41

@ModelAttribute, Controller 메소드에 붙였을때 요청이 들어오면 들어온 요청 Model에 메소드 리턴값이

들어오는것을 확인할 수 있다.

 

Object dutchMap = model.asMap().get("dutchMap");

@ModelAttribute("dutchMap")
	public Map<String,DutchDao> getDutchMap(){
		Map<String,DutchDao> map = new HashMap<>();
		map.put("k11", new DutchDao());
		map.put("k12", new DutchDao());
		map.put("k13", new DutchDao());
		return map;
	}

그런데 하나 궁금점

 

위에 getDutchMap()의 결과인 Map<String,DutchDao>값을

Controller 생성 초기에 bean으로 등록해서 가지고(캐싱하고) 있을까?

 

아니면 매번 요청마다 getDutchMap()을 부르게 될까?

 

확인 방법은 간단하게 getDutchMap()을 break point를 찍고 확인해보니..

 

요청마다 getDutchMap() 를 부르고 있었다..;;;

 

실시간으로 매번 생성해서 model에 세팅하는 용도라면 적절할지 모르겠지만..

모든 요청마다 매번 메소드 불리기 때문에 주의해서 사용해야 겠다...

 

 

 

 

댓글()