1. @ModelAttribute와 @RequestBody
@ModelAttribute와 @RequestBody는 Spring MVC에서 요청을 처리하는 데 사용되는 두 가지 다른 어노테이션입니다.
@ModelAttribute:
- @ModelAttribute 어노테이션은 주로 HTML 폼 데이터를 컨트롤러 메소드의 매개변수로 바인딩하는 데 사용됩니다.
- 클라이언트에서 전송된 폼 데이터를 자동으로 객체로 변환하고, 이를 컨트롤러 메소드의 매개변수로 전달합니다.
- 이 어노테이션을 사용하면 스프링은 매개변수로 선언된 객체를 자동으로 생성하고 해당 객체의 필드를 클라이언트에서 전송된 폼 데이터와 매핑합니다.
- 주로 HTML 폼으로부터 데이터를 수집하고 이를 객체로 변환하는 경우에 사용됩니다
@RequestBody:
- @RequestBody 어노테이션은 주로 클라이언트에서 전송한 요청 본문을 메소드의 매개변수로 바인딩하는 데 사용됩니다.
- 주로 JSON 또는 XML과 같은 형식의 데이터를 전송하고, 이를 자바 객체로 변환하여 처리할 때 사용됩니다.
- 클라이언트가 요청 본문에 담아 보낸 데이터를 자동으로 해당 메소드의 매개변수로 매핑합니다.
차이점 요약:
- @ModelAttribute는 주로 HTML 폼 데이터를 자동으로 객체로 변환할 때 사용됩니다.
- @ModelAttribute는 HTML 폼 데이터를 바인딩할 때 사용되며, 주로 폼 데이터 수집에 활용됩니다.
- @RequestBody는 주로 클라이언트에서 전송한 요청 본문을 자바 객체로 변환할 때 사용됩니다.
- @RequestBody는 요청 본문을 자바 객체로 바인딩할 때 사용되며, 주로 RESTful API에서 JSON 또는 XML 데이터를 처리할 때 활용됩니다.
'SpringBoot' 카테고리의 다른 글
Springboot - Server to Server RestTemplate (0) | 2024.02.05 |
---|---|
Springboot - HandlerInterceptor (1) | 2024.02.02 |
URI 설계 - GET , POST, PUT , DELETE 와 Path Variable vs Query Parameter (0) | 2024.01.30 |
Springboot - session 사용 로그인 로그아웃 (0) | 2024.01.29 |
WebSocket - binary , text(참조) 타입 보내기 (1) | 2024.01.07 |