반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- spring
- assertThrows
- springboot
- 스프링 부트 기본
- Effective Java
- 스프링 컨테이너
- Javascript
- SQL
- JPA
- @Configuration
- 스프링 프레임워크
- DIP
- 스프링부트
- 스프링 부트
- db
- sqld
- 스프링 부트 입문
- kafka
- DI
- 싱글톤
- java
- 필드 주입
- 스프링 빈
- mybatis
- resultMap
- assertThat
- 스프링
- 생성자 주입
- jdbc
- thymeleaf
Archives
- Today
- Total
선 조치 후 분석
@RequestBody와 @ResponseBody 본문
728x90
반응형
SMALL
@RequestBody와 @ResponseBody
Spring에서 사용되는 어노테이션으로, HTTP 요청의 본문(Body) 데이터와 HTTP 응답의 본문(Body) 데이터를 처리하는 데 사용된다. 주로 RESTful 웹 서비스에서 JSON이나 XML과 같은 데이터 형식을 전송하고 수신할 때 활용된다.
@RequestBody
HTTP 요청의 본문(Body) 데이터를 특정 Java 객체로 변환하는 데 사용된다. 주로 POST, PUT 요청에서 클라이언트가 전송한 데이터를 서버에서 파싱 하여 Java 객체로 변환한다.
@PostMapping("/create")
public ResponseEntity<User> createUser(@RequestBody User user) {
// user 객체 활용
}
@ResponseBody
Controller 메서드가 반환하는 Java 객체를 HTTP 응답의 본문(Body) 데이터로 변환하여 클라이언트에게 전달하는 데 사용된다. 주로 JSON이나 XML 형식으로 데이터를 반환할 때 사용한다.
@GetMapping("/user/{id}")
@ResponseBody
public User getUser(@PathVariable Long id) {
User user = userService.getUserById(id);
return user;
}
두 어노테이션 모두 Spring의 메시지 컨버터(Message Converter) 기능을 활용하여 자동으로 데이터 변환을 처리한다.
*메시지 컨버터(Message Converter)
HTTP 요청과 응답의 Body 데이터를 다양한 형식으로 변환하는 역할을 한다.
이를 통해 클라이언트와 서버 간의 데이터 교환을 다양한 데이터 형식(Json, XML, HTML 등)으로
처리할 수 있게 해 준다.
작업 순서는 변환 -> 자동 타입 매핑 -> 자동선택으로 수행한다.
JSON과 XML 같은 데이터 형식을 처리하는 Jackson, Gson, JAXB 같은 라이브러리들은 스프링에서 자주 사용되는
메시지 컨버터 예시이다.
즉, @RequestBody는 클라이언트의 데이터를 Java 객체로 변환하고, @ResponseBody는 Java 객체를 클라이언트가 원하는 형식(JSON, XML 등)으로 변환하여 전송한다.
728x90
반응형
LIST
'Framework > Spring Framework' 카테고리의 다른 글
web.xml, dispatcher-servlet.xml, pom.xml 개념과 차이점 그리고Spring 웹 애플리케이션 동작순서 (0) | 2023.08.25 |
---|---|
@Autowired vs @Resource 차이점 (0) | 2023.08.21 |
@PathVariable vs @RequestParam vs @RequestBody 그리고 HttpServletRequest , 파라미터 수신 방법 정리 (1) | 2022.09.23 |
[Spring Framework] Maven으로 JRE System Library JavaSE-1.8로 변경하기 (0) | 2022.05.16 |
[Spring] Spring Framework - 핵심 원리 (50) - 스프링 핵심 원리와 핵심 기능 정리 (0) | 2022.05.09 |