[Spring]messageConverters

최진하·2023년 2월 14일
0

앞서 HTTP요청을 모델에 바인딩하고 클라이언트에 보낼 HTTP응답을 만들기 위해 뷰를 사용했던 방식과 달리,

HTTP요청 본문과 HTTP응답 본문을 통째로 메세지로 다루는 방식이다.
주로 XML이나 JSON을 이용한 AJAX기능이나 웹서비스를 개발할 때 사용된다.

내가 사용한 방식)

	//@RestController를 사용하였기 때문에 @ResponseBody생략
	@PostMapping(value = "/monitoring.do")
	public ModelAndView monitoringSave(@RequestBody MonitoringVO monitoringVO) throws Exception {
		ModelAndView mv = new ModelAndView("jsonView");	monitoringService.insertMonitoring(monitoringVO);
        mv.addObject("result", monitoringVO.getRtnVal());

		return mv;
	}

위와같은 어노테이션을 명시해두면 스프링은 메세지 컨버터라는 것을 사용하여 HTTP 요청이나 응답을 메세지로 변환하게 된다.

즉 파라미터 부분에 @RequestBody를 입력할 경우, 파라미터 타입에 맞는 메세지 컨버터를 선택한 뒤 HTTP 요청 본문을 통째로 메세지로 변환하여 파라미터에 바인딩 되는 것이다.

참고로 GET방식의 요청일 경우 HTTP 요청 본문(Body)이 없으므로 @RequestBody를 사용할 수 없다. @RequestParam이나 @ModelAttribute를 사용해야 한다.

출처
https://joont92.github.io/spring/MessageConverter/

profile
소소한 정리

0개의 댓글