본문 바로가기

KOSTA : 클라우드 네이티브 애플리케이션 개발 전문가 양성과정

07/24 71일차 @GetMapping @PostMapping, @RequestBody @ModelAttribute @RequestParam @Pathvarable의 차이점

728x90

@GetMapping, @PostMapping

 

@Controller
@RequestMapping("/lec01")
HelloController{

@GetMapping("/hello")
public String hello(){
	return "hello";
}

}

 

@RequestBody @ModelAttribute @RequestParam @Pathvarable의 차이점

 

@RequestBody

요청 body안에 들어있는 값들을 읽어온다. 

post 요청일때 클라이언트측에서 JSON형태의 HTTP body를 Java 객체로 변환한 값을 넘겨받습니다.

get에서는 사용불가합니다.

 

@ModelAttribute

클라이언트측에서 multipart / form-data 형태의 HTTP body와 파라미터의 값들을 생성자나 Setter를 통해 미리 정해놓은 모델에 속성값을 주입해줍니다. 

 

 

@RequestParam

HTTP 요청을 받기위해 사용합니다. 

모두 String을 받기 때문에 형변환의 과정이 필요합니다.

파라미터가 Key,Value 형태로 넘어옵니다. ex) localhost:8080/detail?boardSeq = 12

 

@Pathvarable

1개의 HTTP 파라미터를 얻기 위해 사용되며 기본값을 지정할 수 있음

파라미터가 Key,Value 형태가 아닌 구분자를 통해 url로 넘어옴 ex) localhost:8080/detail/12